Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. #include <QCoreApplication>
  2. #include <QVector>
  3. #include <QString>
  4. #include <QStringList>
  5. #include <QTextStream>
  6. #include <QtDebug>
  7. QTextStream cout(stdout);
  8. QTextStream cin(stdin);
  9.  
  10. class Tru
  11. {
  12. QVector<QVector<QString>> approvals;
  13. QVector<QVector<QString>> answers;
  14. QVector<QString> pre;
  15. public:
  16. Tru(){}
  17. void GetData()
  18. {
  19. QString a;
  20. a = cin.readLine();
  21.  
  22. QStringList a1 = a.split("=");
  23. QString before;
  24. QString after;
  25. for(int i = 0; i < a1.size() - 1; i++)
  26. {
  27. before = a1.at(i);
  28. after = a1.at(i+1);
  29. }
  30. QStringList before1 = before.split(" ");
  31. QStringList after1 = after.split(" ");
  32. QVector<QString> before2;
  33. QVector<QString> after2;
  34. for(int i = 0; i < before1.size(); i++)
  35. {
  36. before2.push_back(before1.at(i));
  37. }
  38. for(int i = 0; i < after1.size(); i++)
  39. {
  40. after2.push_back(after1.at(i));
  41. }
  42. approvals.push_back(before2);
  43. answers.push_back(after2);
  44. }
  45.  
  46. void GetPre()
  47. {
  48. QString a;
  49. a= cin.readLine();
  50. QStringList b = a.split(" ");
  51. for(int i = 0; i < b.size(); i++)
  52. {
  53. pre.push_back(b.at(i));
  54. }
  55. }
  56.  
  57. void FindSolution()
  58. {
  59. QVector<QString> b;
  60. int chek = 0;
  61. for(int j = 0; j < approvals.size(); j++)
  62. {
  63. for(int k = 0; k < approvals.at(j).size(); k++)
  64. {
  65. for(int i = 0; i < pre.size(); i++)
  66. {
  67. if(pre.at(i) == approvals.at(j).at(k))
  68. {
  69. chek++;
  70. }
  71. }
  72. if(chek == approvals.at(j).size())
  73. {
  74. for(int u = 0; u < answers.at(j).size(); u++)
  75. {
  76. b.push_back(answers.at(j).at(u));
  77. }
  78. }
  79. }
  80. chek = 0;
  81. }
  82. for(int ho = 0; ho < b.size(); ho++)
  83. {
  84. qDebug() << b.at(ho);
  85. }
  86.  
  87. if(b.isEmpty() == false)
  88. {
  89. pre.clear();
  90. for(int i = 0; i < b.size(); i++)
  91. {
  92. pre.push_back(b.at(i));
  93. }
  94. FindSolution();
  95. }
  96. }
  97.  
  98. ~Tru(){}
  99.  
  100. };
  101. int main(int argc, char *argv[])
  102. {
  103. QCoreApplication a(argc, argv);
  104. QString foo;
  105. Tru b;
  106. while(foo != "ex")
  107. {
  108. foo = cin.readLine();
  109.  
  110.  
  111. if(foo == "da")
  112. {
  113.  
  114. b.GetData();
  115. }
  116. else
  117. {
  118. if(foo == "pr")
  119. {
  120. b.GetPre();
  121. }
  122. else
  123. {
  124. if(foo == "so")
  125. {
  126. b.FindSolution();
  127. }
  128. }
  129. }
  130. }
  131. return a.exec();
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement