#include <iostream> #include <string> using namespace std; int main() { ios::sync_with_stdio(false); short n; short r[3]; short rob; cin >>n; char w[n]; for (int i=0; i<n; i++) w[i]='0'; long long ile=0; bool czy=false; string s1, s2, s3; cin >>r[0] >>s1; cin >>r[1] >>s2; cin >>r[2] >>s3; while (true){ /* for(int i=0; i<n; i++) cout <<w[i]; cout <<"k"; */ rob=r[0]; for (int i=0; i<n; i++){ if (w[i]!=s1[i]) rob--; } if (rob>=0){ ile++; if (ile==1000000007) ile=0; } else { rob=r[1]; for (int i=0; i<n; i++){ if (w[i]!=s2[i]) rob--; } if (rob>=0){ ile++; if (ile==1000000007) ile=0; } else{ rob=r[2]; for (int i=0; i<n; i++){ if (w[i]!=s3[i]) rob--; } if (rob>=0){ ile++; if (ile==1000000007) ile=0; } } } //cout <<ile <<" "; for (int i=0; i<n; i++){ if (w[n-i-1]=='1'){ w[n-i-1]='0'; } else { w[n-i-1]='1'; czy=true; break; } } if (czy==false) break; czy=false; } cout <<ile; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | #include <iostream> #include <string> using namespace std; int main() { ios::sync_with_stdio(false); short n; short r[3]; short rob; cin >>n; char w[n]; for (int i=0; i<n; i++) w[i]='0'; long long ile=0; bool czy=false; string s1, s2, s3; cin >>r[0] >>s1; cin >>r[1] >>s2; cin >>r[2] >>s3; while (true){ /* for(int i=0; i<n; i++) cout <<w[i]; cout <<"k"; */ rob=r[0]; for (int i=0; i<n; i++){ if (w[i]!=s1[i]) rob--; } if (rob>=0){ ile++; if (ile==1000000007) ile=0; } else { rob=r[1]; for (int i=0; i<n; i++){ if (w[i]!=s2[i]) rob--; } if (rob>=0){ ile++; if (ile==1000000007) ile=0; } else{ rob=r[2]; for (int i=0; i<n; i++){ if (w[i]!=s3[i]) rob--; } if (rob>=0){ ile++; if (ile==1000000007) ile=0; } } } //cout <<ile <<" "; for (int i=0; i<n; i++){ if (w[n-i-1]=='1'){ w[n-i-1]='0'; } else { w[n-i-1]='1'; czy=true; break; } } if (czy==false) break; czy=false; } cout <<ile; } |