Advertisement
amine99

Untitled

Mar 29th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define itloop(it,x) for(auto it=x.begin();it!=x.end();it++)
  5. #define reloop(i,e,b) for(auto i=e;i>=b;i--)
  6. #define loop(i,b,e) for(auto i=b;i<=e;i++)
  7. #define ALL(x) x.begin(),x.end()
  8. #define SZ(x) x.size()
  9. #define PB push_back
  10. #define MP make_pair
  11. #define F first
  12. #define S second
  13. #define sf scanf
  14. #define pf printf
  15. typedef long long LL;
  16. typedef vector<int> VI;
  17. typedef vector<LL> VLL;
  18. typedef pair<int,int> PI;
  19. typedef pair<LL,LL> PL;
  20.  
  21. int pos(string s) {
  22.    loop(i,0,s.length()-1) {
  23.       if(s[i] != '_')
  24.          return i;
  25.    }
  26. }
  27.  
  28. string fix(string s,char c) {
  29.    string tmp;
  30.    loop(i,0,25) {
  31.       if(s[i] == c) {
  32.          tmp = s.substr(i,26-i);
  33.          loop(j,0,i-1)
  34.             tmp += s[j];
  35.          break;
  36.       }
  37.    }
  38.    return tmp;
  39. }
  40.  
  41. void solve(string s[],int n,string key,string word) {
  42.    string ans;
  43.    int p = pos(word),x;
  44.    loop(i,0,n-1)
  45.       s[i] = fix(s[i],key[i]);
  46.    loop(i,0,25) {
  47.       if(word[p] == s[p][i])
  48.          x = i;
  49.    }
  50.    loop(i,0,n-1)
  51.       ans += s[i][x];
  52.    cout << key << " " << ans << "\n";
  53. }
  54.  
  55. int t,n;
  56. string key,word,s[1001];
  57.  
  58. int main()
  59. {
  60.    sf("%d",&t);
  61.    loop(i,1,t) {
  62.       sf("%d",&n);
  63.       cin >> key >> word;
  64.       loop(i,0,n-1)
  65.          cin >> s[i];
  66.       solve(s,n,key,word);
  67.    }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement