123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #include <bits/stdc++.h>
- using namespace std;
- inline bool Imply(bool p, bool q) { return !p || q; }
- int main() {
- int Max = 0, A, B, C, D, E, F;
- for (int i = 0; i < (1 << 6); i++) {
- int a = i & 1;
- int b = (i >> 1) & 1;
- int c = (i >> 2) & 1;
- int d = (i >> 3) & 1;
- int e = (i >> 4) & 1;
- int f = i >> 5;
- if (a + b < 1)
- continue;
- if (a + d == 2)
- continue;
- if (a + e + f != 2)
- continue;
- if (b != c)
- continue;
- if (c + d != 1)
- continue;
- if (!Imply(d == 0, e == 0))
- continue;
- if (a + b + c + d + e + f > Max) {
- A = a, B = b, C = c, D = d, E = e, F = f;
- Max = a + b + c + d + e + f;
- }
- }
- if (Max) {
- if (A)
- cout << "A,";
- if (B)
- cout << "B,";
- if (C)
- cout << "C,";
- if (D)
- cout << "D,";
- if (E)
- cout << "E,";
- if (F)
- cout << "F,";
- cout << endl;
- } else {
- cout << "Not solutions!" << endl;
- }
- return 0;
- }
|