02/12/08 18:59
luke1992
Allora, sto facendo gli allenamenti per le selezioni delle olimpiadi di informatica del 2009....P
Prima di tutto ecco il link del testo del problema:
81.208.32.83/ioi-site/pn/html/…
E poi ecco il codice che ho scritto per risolverlo:
Il problema è che finchè l'input è relativamente corto (15/20 caratteri) il programma viene eseguito ed è tutto a posto...
Se inserisco un input un po più lungo (per esempio 50 caratteri) il programma crasha.
Ho provato a fare un debug e compare una finestra di dialogo con scritto che il programma ha commesso un errore di segmentazione....
Mi aiutate per favore?????
Prima di tutto ecco il link del testo del problema:
81.208.32.83/ioi-site/pn/html/…
E poi ecco il codice che ho scritto per risolverlo:
#include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { char move[10^5]; ifstream in ("input.txt"); ofstream out ("output.txt"); for (long int i=0;move[i-1] != '*';i++) in >> move [i]; long int x=0,y=0; for (long int k=0;move [k-1] != '*';k++){ if ( move [k] == 'N' ) y = y + 1; if ( move [k] == 'S' ) y = y - 1; if ( move [k] == 'E' ) x = x + 1; if ( move [k] == 'O' ) x = x - 1; } out << (x*x) + (y*y); out.close(); in.close(); return 0; }
Il problema è che finchè l'input è relativamente corto (15/20 caratteri) il programma viene eseguito ed è tutto a posto...
Se inserisco un input un po più lungo (per esempio 50 caratteri) il programma crasha.
Ho provato a fare un debug e compare una finestra di dialogo con scritto che il programma ha commesso un errore di segmentazione....
Mi aiutate per favore?????
aaa