本文共 1404 字,大约阅读时间需要 4 分钟。
1 #define _CRT_SECURE_NO_WARNINGS 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 using namespace std;17 #define Size 11018 #define maxn 1<<3019 #define minn 1e-620 int a[6][8];21 int press[6][8];22 bool guest(){23 for (int i = 1; i < 5; i++){24 for (int j = 1; j <= 6; j++){25 press[i + 1][j] = (a[i][j] + press[i][j] + press[i - 1][j] + press[i][j - 1] + press[i][j + 1]) % 2;26 }27 /*28 按不按[4][3] 取决于[3][3]的状态, 等于号后面的是现在(3,3)的状态29 */30 }31 for (int i = 1; i <= 6; i++){32 if (a[5][i] != (press[5][i] + press[4][i] + press[5][i - 1] + press[5][i + 1]) % 2) return false;33 }34 return true;35 }36 void solve(){37 int c;38 while (guest() == false){39 c = 1;40 press[1][1]++;41 while (press[1][c] > 1){42 press[1][c] = 0;43 c++;44 press[1][c]++;45 }46 }47 /*48 美妙的枚举函数49 050 151 0152 1153 00154 10155 01156 11157 000158 */59 for (int i = 1; i <= 5; i++){60 for (int j = 1; j <= 6; j++)61 if (j == 1) cout << press[i][j];62 else cout << " " << press[i][j];63 cout << endl;64 }65 66 }67 int main(){68 for (int i = 1; i <= 5; i++)69 for (int j = 1; j <= 6; j++)70 cin >> a[i][j];71 solve();72 system("pause");73 }
转载于:https://www.cnblogs.com/MapReduce/p/8387365.html