Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions F015A_Cojones del Anticristo.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@
/*
Entrada

Lentrada comen�a amb un natural n, seguit de les n paraules que cal localitzar a la sopa de lletres. A continuaci� venen dos naturals a i b entre 1 i 20 que defineixen les mides de la sopa de lletres, seguits de les a b lletres, totes maj�scules.
Lentrada comença amb un natural n, seguit de les n paraules que cal localitzar a la sopa de lletres. A continuació venen dos naturals a i b entre 1 i 20 que defineixen les mides de la sopa de lletres, seguits de les a× b lletres, totes majúscules.

Sortida

Per a cada paraula de lentrada, cal escriure una l�nia amb el nombre de vegades que apareix horitzontalment (desquerra a dreta) i verticalment (de dalt cap a baix). Les paraules han de sortir ordenades decreixentment segons el nombre daparicions i, en cas dempat, creixentment en ordre alfab�tic. Seguiu el format dels exemples.
Per a cada paraula de lentrada, cal escriure una línia amb el nombre de vegades que apareix horitzontalment (desquerra a dreta) i verticalment (de dalt cap a baix). Les paraules han de sortir ordenades decreixentment segons el nombre daparicions i, en cas dempat, creixentment en ordre alfabètic. Seguiu el format dels exemples.

Pista

Considereu usar un vector delements daquest tipus en el vostre programa:
Considereu usar un vector delements daquest tipus en el vostre programa:

struct Info {
string par;
int num; // comptador daparicions
int num; // comptador daparicions
};
*/
#include <iostream>
Expand All @@ -24,7 +24,7 @@ Pista

using namespace std;

//declaro dos noves estructures que s�n la de direcci� i la posici�
//declaro dos noves estructures que són la de direcció i la posició
struct Dir {

int x,y;};
Expand All @@ -34,7 +34,7 @@ struct Pos {
int x,y;};

struct Info { string par;
int num; // comptador daparicions
int num; // comptador daparicions
};
typedef vector<Info> output_info;

Expand All @@ -46,18 +46,18 @@ typedef vector<Info> output_info;
typedef vector <char> Row;
typedef vector <Row> Matrix;

//funci� que rep la Matriu, la paraula i una posici� x,y(que vaig variant al main amb dos fors)
//funció que rep la Matriu, la paraula i una posició x,y(que vaig variant al main amb dos fors)

bool found(const Matrix& M, string s, const Pos& p, const Dir& d){
int f= M.size();
int c= M[0].size();
int i=p.x;
int j=p.y;
int tam_s=s.size();
//comprovo a la posici� si, o s�n diferents les lletres que s�n aquests ifs de sota
//comprovo si finalment la i i la j(posici�ns x i y) s han passat de la Matriu quan he anat fent aix�
//si no es d�na cap d'aquests casos retorno un true perqu� vol dir que l'he trobat ;D
for(int k=0;k<tam_s;++k) {
//comprovo a la posició si, o són diferents les lletres que són aquests ifs de sota
//comprovo si finalment la i i la j(posicións x i y) s han passat de la Matriu quan he anat fent això
//si no es dóna cap d'aquests casos retorno un true perquè vol dir que l'he trobat ;D
for(int k=0;k<tam_s;k++) {
if(i<f && j<c){
if (M[i][j] != s[k] && char(M[i][j]-'a'+'A')!= s[k])
return false;
Expand Down Expand Up @@ -139,7 +139,7 @@ int main(){

Pos pos;

for(int k=0; k<n;++k){
for(int k=0; k<n;k++){
int count=0;
for (pos.x = 0; pos.x < f; ++pos.x) {
for (pos.y = 0; pos.y < c; ++pos.y){
Expand All @@ -153,4 +153,4 @@ int main(){


} write_words(paraules);
}
}