Submission #1168399

#TimeUsernameProblemLanguageResultExecution timeMemory
1168399ghammazhassanWalk (POI13_spa)C++20
0 / 100
3394 ms145260 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> using namespace std; #define int long long #define fi first #define se second const int N=5e6+5; const int M=1e9+7; const int LOG = 20; int n , m , k , c , d , t=1 , q=1 , x , y , p[N] , l , r; vector<vector<int>>a(N); int bp(int x,int y){ x=x%M; if (y==0)return 1; if (y==1)return x; int r=bp(x*x,y/2); if (y%2)r*=x; r%=M; return r; } int inv(int x){ return bp(x,M-2); } string its(int x){ string s; while (x>1){ s+='0'+x%2; x/=2; } while (s.size()<n){ s+='0'; } reverse(s.begin(),s.end()); return s; } int sti(string s){ int x=0; for (int i=0;i<n;i++){ x+=(1<<(n-i-1))*(int)(s[i]-'0'); } return x; } void solve() { cin >> n >> k; string s,t; cin >> s >> t; x=sti(s); y=sti(t); map<string,int>d; for (int e=0;e<k;e++){ string f; cin >> f; d[f]=1; } int g=1e6; while(s!=t and g--){ bool f=0; for (int i=0;i<n;i++){ if (s[i]!=t[i]){ s[i]='0'+((s[i]-'0')^1); if (d[s]){ s[i]='0'+((s[i]-'0')^1); continue; } f=1; } } for (int i=0;i<n;i++){ if (s[i]!=t[i]){ t[i]='0'+((t[i]-'0')^1); if (d[t]){ t[i]='0'+((t[i]-'0')^1); continue; } f=1; } } if (f==0){ for (int i=n-1;i>=0;i--){ if (s[i]==t[i]){ t[i]='0'+((t[i]-'0')^1); if (d[t]){ t[i]='0'+((t[i]-'0')^1); continue; } f=1; break; } } } } // cout << s << endl; // cout << t << endl; if (s==t){ cout << "TAK" << endl; } else{ cout << "NIE" << endl; } } signed main() { ios::sync_with_stdio(0);//DO NOT USE IN INTERACTIVE cin.tie(0), cout.tie(0);//DO NOT USE IN INTERACTIVE cout << fixed<<setprecision(9); // int t=1; // cin >> t; for (int _=1;_<=t;_++){ solve(); q++; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...