/* FILE: stomp2x3.cpp last change: 30-Sep-2013 author: Fabio Bellini matricola: VR370413 * Risoluzione del problema stomp2x3. */ #define NDEBUG // NDEBUG definita nella versione che consegno #include #ifndef NDEBUG # include // uso di cin e cout non consentito in versione finale #endif #include using namespace std; const int MAX_N = 1000000; int stomp[3][4]; int matrice[3][MAX_N]; int n; int n_accese=0; int i,j; void applica_stomp(int k){ matrice[1][k]=(matrice[1][k]+stomp[1][1])%2; matrice[2][k]=(matrice[2][k]+stomp[2][1])%2; matrice[1][k+1]=(matrice[1][k+1]+stomp[1][2])%2; matrice[2][k+1]=(matrice[2][k+1]+stomp[2][2])%2; matrice[1][k+2]=(matrice[1][k+2]+stomp[1][3])%2; matrice[2][k+2]=(matrice[2][k+2]+stomp[2][3])%2; n_accese+=matrice[1][k]+matrice[2][k]; } int main() { ifstream fin("input.txt"); assert( fin ); fin>> n; for(i=1;i<=2;i++){ fin>>stomp[i][1]>>stomp[i][2]>>stomp[i][3]; } for(i=1;i<=n;i++){ fin>>matrice[1][i]; } for(i=1;i<=n;i++){ fin>>matrice[2][i]; } fin.close(); for(i=1;i<=n-2;i++){ if(matrice[1][i]!=0 || matrice[2][i]!=0) applica_stomp(i); } n_accese+=matrice[1][n-1]+matrice[2][n-1]+matrice[1][n]+matrice[2][n]; ofstream fout("output.txt"); fout<