Advertisement
despotovski01

Igra so stringovi

May 10th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. // igra so stringovi
  5. const string first = "DIME";
  6. const string second = "SIME";
  7.  
  8. bool F(string a, string b, int x){
  9.     if(x + b.length() > a.length()){
  10.         return false;
  11.     }
  12.     for(int i = x; i < x+b.length(); i++){
  13.         if(a[i] != b[i-x]){
  14.             return false;
  15.         }
  16.     }
  17.     return true;
  18. }
  19.  
  20. string winner(string s, string p){
  21.     int k = s.length() - p.length();
  22.     if(k < 0){
  23.         return first;
  24.     }
  25.     if(k % 2 == 0){
  26.         if(F(s, p, k/2) || (F(s, p, k/2 - 1) && F(s, p, k/2 + 1))){
  27.             return second;
  28.         }
  29.     }else{
  30.         if(F(s, p, (k-1)/2) && F(s, p, (k+1)/2)){
  31.             return second;
  32.         }
  33.     }
  34.     return first;
  35. }
  36.  
  37. int main() {
  38.     int q;
  39.     cin >> q;
  40.     for(int qq = 0; qq < q; qq++){
  41.         string s, p;
  42.         cin >> s;
  43.         cin >> p;
  44.         cout << winner(s, p) << endl;
  45.     }
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement