Advertisement
Huian

Untitled

Dec 4th, 2022
507
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.34 KB | None | 0 0
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. int main()
  5. {
  6.     string s1, s2;
  7.     cin >> s1 >> s2;
  8.     int n;
  9.     cin >> n;
  10.     cin.get();
  11.     for(int i = 0; i < n; i++)
  12.     {
  13.         string s3;
  14.         getline(cin, s3);
  15.         vector<int> v1;
  16.         int m = 0;
  17.         for(int j = 0; j < s3.size(); j++)
  18.         {
  19.             if(j == s3.size() - 1)
  20.             {
  21.                 m*= 10;
  22.                 m+= s3[i] - '0';
  23.             }
  24.             if(s3[j] == ':' || s3[j] == ' ' || j == s3.size() - 1)
  25.             {
  26.                 v1.push_back(m);
  27.                 m = 0;
  28.             }
  29.             else
  30.             {
  31.                 m*= 10;
  32.                 m+= s3[i] - '0';
  33.             }
  34.         }
  35.         vector<pair<int, int>> v2;
  36.         bool ok = false;
  37.         for(int j = 0; j < v1.size(); j+= 2)
  38.         {
  39.             v2.push_back(make_pair(v1[j], v1[j + 1]));
  40.         }
  41.         if(v2.size() > 3 || v2.size() == 1)
  42.         {
  43.             ok = true;
  44.         }
  45.         if(v2[0].first > v2[0].second && v2[1].first < v2[1].second && v2.size() == 2)
  46.         {
  47.             ok = true;
  48.         }
  49.         if(v2[0].first < v2[0].second && v2[1].first > v2[1].second && v2.size() == 2)
  50.         {
  51.             ok = true;
  52.         }
  53.         for(int j = 0; j < v2.size(); j++)
  54.         {
  55.             if((v2[j].first == 6 && v2[j].second == 5) || (v2[j].first == 5 && v2[j].second == 6))
  56.             {
  57.                 ok = true;
  58.                 break;
  59.             }
  60.         }
  61.         for(int j = 0; j < v2.size(); j++)
  62.         {
  63.             if((v2[j].first > 6 && v2[j].second < 6 && v2[j].first - v2[j].second > 2) || (v2[j].first < 6 && v2[j].second > 6 && v2[j].second - v2[j].first > 2))
  64.             {
  65.                 ok = true;
  66.                 break;
  67.             }
  68.         }
  69.         if(s1 == "federer")
  70.         {
  71.             for(int j = 0; j < v2.size(); j++)
  72.             {
  73.                 if(v2[j].first < v2[j].second)
  74.                 {
  75.                     ok = true;
  76.                     break;
  77.                 }
  78.             }
  79.         }
  80.         else if(s2 == "federer")
  81.         {
  82.             for(int j = 0; j < v2.size(); j++)
  83.             {
  84.                 if(v2[j].first > v2[j].second)
  85.                 {
  86.                     ok = true;
  87.                     break;
  88.                 }
  89.             }
  90.         }
  91.         int pt1 = 0, pt2 = 0;
  92.         for(int j = 0; j < v2.size(); j++)
  93.         {
  94.             if(v2[j].first > v2[j].second)
  95.             {
  96.                 pt1++;
  97.             }
  98.             else
  99.             {
  100.                 pt2++;
  101.             }
  102.         }
  103.         if(pt1 == pt2)
  104.         {
  105.             ok = true;
  106.         }
  107.         else if(pt1 - 2 > pt2 || pt2 - 2 > pt1)
  108.         {
  109.             ok = true;
  110.         }
  111.         if(v2.size() >= 3)
  112.         {
  113.             for(int j = 2; j < v2.size(); j++)
  114.             {
  115.                 if((v2[j].first > 6 && v2[j].second > 6 && v2[j].first - v2[j].second > 2) || (v2[j].first > 6 && v2[j].second > 6 && v2[j].second - v2[j].first > 2))
  116.                 {
  117.                     ok = true;
  118.                     break;
  119.                 }
  120.             }
  121.         }
  122.         for(int j = 0; j < 2; j++)
  123.         {
  124.             if(v2[j].first > 6 && v2[j].second > 6)
  125.             {
  126.                 if(v2[j].first > v2[j].second + 1 || v2[j].first + 1 < v2[j].second)
  127.                 {
  128.                     ok = true;
  129.                     break;
  130.                 }
  131.             }
  132.         }
  133.         for(int j = 0; j < v2.size(); j++)
  134.         {
  135.             if(v2[j].first < 6 && v2[j].second < 6)
  136.             {
  137.                 ok = true;
  138.                 break;
  139.             }
  140.         }
  141.         for(int j = 0; j < v2.size(); j++)
  142.         {
  143.             if(v2[j].first == v2[j].second)
  144.             {
  145.                 ok = true;
  146.                 break;
  147.             }
  148.         }
  149.         if(v2.size() >= 3)
  150.         {
  151.             for(int j = 2; j < v2.size(); j++)
  152.             {
  153.                 if(v2[j].first - 1 == v2[j].second || v2[j].first == v2[j].second - 1)
  154.                 {
  155.                     ok = true;
  156.                     break;
  157.                 }
  158.             }
  159.         }
  160.         if(ok)
  161.         {
  162.             cout << "da" << endl;
  163.         }
  164.         else
  165.         {
  166.             cout << "ne" << endl;
  167.         }
  168.     }
  169.     return 0;
  170. }
  171.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement