C.cpp 970 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. inline bool Imply(bool p, bool q) { return !p || q; }
  4. int main() {
  5. int Max = 0, A, B, C, D, E, F;
  6. for (int i = 0; i < (1 << 6); i++) {
  7. int a = i & 1;
  8. int b = (i >> 1) & 1;
  9. int c = (i >> 2) & 1;
  10. int d = (i >> 3) & 1;
  11. int e = (i >> 4) & 1;
  12. int f = i >> 5;
  13. if (a + b < 1)
  14. continue;
  15. if (a + d == 2)
  16. continue;
  17. if (a + e + f != 2)
  18. continue;
  19. if (b != c)
  20. continue;
  21. if (c + d != 1)
  22. continue;
  23. if (!Imply(d == 0, e == 0))
  24. continue;
  25. if (a + b + c + d + e + f > Max) {
  26. A = a, B = b, C = c, D = d, E = e, F = f;
  27. Max = a + b + c + d + e + f;
  28. }
  29. }
  30. if (Max) {
  31. if (A)
  32. cout << "A,";
  33. if (B)
  34. cout << "B,";
  35. if (C)
  36. cout << "C,";
  37. if (D)
  38. cout << "D,";
  39. if (E)
  40. cout << "E,";
  41. if (F)
  42. cout << "F,";
  43. cout << endl;
  44. } else {
  45. cout << "Not solutions!" << endl;
  46. }
  47. return 0;
  48. }