Advertisement
sve_vash

Untitled

Jul 8th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. #include <fstream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. const int n = 10;
  7. const int m = 6;
  8.  
  9. void generate(string statement, int p, vector<string> &states, int &sum) {
  10. if (p >= m) {
  11. bool flag = true;
  12. for (string i : states) {
  13. int first = statement[(i[0] - '0') - 1] - '0';
  14. if (i.size() == 3) {
  15. switch (i[1]) {
  16. case '<': {
  17. if (first >= statement[(i[2] - '0') - 1] - '0') {
  18. flag = false;
  19. break;
  20. }
  21. break;
  22. }
  23. case '>': {
  24. if (first <= statement[(i[2] - '0') - 1] - '0') {
  25. flag = false;
  26. break;
  27. }
  28. break;
  29. }
  30. case '=': {
  31. if (first != statement[(i[2] - '0') - 1] - '0') {
  32. flag = false;
  33. break;
  34. }
  35. break;
  36. }
  37. }
  38. }
  39.  
  40. else {
  41. switch (i[1]) {
  42. case '>': {
  43. if (first < statement[(i[3] - '0') - 1] - '0') {
  44. flag = false;
  45. break;
  46. }
  47. break;
  48. }
  49. case '<': {
  50. if (i[2] == '=') {
  51. if (first > statement[(i[3] - '0') - 1] - '0') {
  52. flag = false;
  53. break;
  54. }
  55. }
  56. else {
  57. if (first == statement[(i[3] - '0') - 1] - '0') {
  58. flag = false;
  59. break;
  60. }
  61. }
  62. break;
  63. }
  64. }
  65. }
  66. }
  67. if (flag) {
  68. sum++;
  69. }
  70. }
  71. else{
  72. for (int i = 0; i < n; i++) {
  73. generate(statement + to_string(i), p + 1, states, sum);
  74. }
  75. }
  76. }
  77.  
  78. int main() {
  79. vector<string> states;
  80.  
  81. ifstream inp("input.txt");
  82. while (!inp.eof()) {
  83. string s;
  84. inp >> s;
  85. states.push_back(s);
  86. }
  87. inp.close();
  88.  
  89. int sum = 0;
  90. generate("", 0, states, sum);
  91.  
  92. ofstream out("output.txt");
  93. out << sum;
  94. out.close();
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement