Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <QCoreApplication>
- #include <QVector>
- #include <QString>
- #include <QStringList>
- #include <QTextStream>
- #include <QtDebug>
- QTextStream cout(stdout);
- QTextStream cin(stdin);
- class Tru
- {
- QVector<QVector<QString>> approvals;
- QVector<QVector<QString>> answers;
- QVector<QString> pre;
- public:
- Tru(){}
- void GetData()
- {
- QString a;
- a = cin.readLine();
- QStringList a1 = a.split("=");
- QString before;
- QString after;
- for(int i = 0; i < a1.size() - 1; i++)
- {
- before = a1.at(i);
- after = a1.at(i+1);
- }
- QStringList before1 = before.split(" ");
- QStringList after1 = after.split(" ");
- QVector<QString> before2;
- QVector<QString> after2;
- for(int i = 0; i < before1.size(); i++)
- {
- before2.push_back(before1.at(i));
- }
- for(int i = 0; i < after1.size(); i++)
- {
- after2.push_back(after1.at(i));
- }
- approvals.push_back(before2);
- answers.push_back(after2);
- }
- void GetPre()
- {
- QString a;
- a= cin.readLine();
- QStringList b = a.split(" ");
- for(int i = 0; i < b.size(); i++)
- {
- pre.push_back(b.at(i));
- }
- }
- void FindSolution()
- {
- QVector<QString> b;
- int chek = 0;
- for(int j = 0; j < approvals.size(); j++)
- {
- for(int k = 0; k < approvals.at(j).size(); k++)
- {
- for(int i = 0; i < pre.size(); i++)
- {
- if(pre.at(i) == approvals.at(j).at(k))
- {
- chek++;
- }
- }
- if(chek == approvals.at(j).size())
- {
- for(int u = 0; u < answers.at(j).size(); u++)
- {
- b.push_back(answers.at(j).at(u));
- }
- }
- }
- chek = 0;
- }
- for(int ho = 0; ho < b.size(); ho++)
- {
- qDebug() << b.at(ho);
- }
- if(b.isEmpty() == false)
- {
- pre.clear();
- for(int i = 0; i < b.size(); i++)
- {
- pre.push_back(b.at(i));
- }
- FindSolution();
- }
- }
- ~Tru(){}
- };
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- QString foo;
- Tru b;
- while(foo != "ex")
- {
- foo = cin.readLine();
- if(foo == "da")
- {
- b.GetData();
- }
- else
- {
- if(foo == "pr")
- {
- b.GetPre();
- }
- else
- {
- if(foo == "so")
- {
- b.FindSolution();
- }
- }
- }
- }
- return a.exec();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement