Submission #573532

#TimeUsernameProblemLanguageResultExecution timeMemory
573532Hussein3602Zamjena (COCI18_zamjena)C++14
0 / 70
50 ms5112 KiB
#include<bits/stdc++.h> #include<sstream> using namespace std ; typedef long long ll ; int main() { ll n ; bool ok=true; map<string,ll>var,mp; map<string,string>rep ; vector<string>b,a; cin >> n ; for(ll i=1;i<=1000;i++) { ostringstream s; s<<i; string s1=s.str(); var[s1]++; } for(ll i=0;i<n;i++) { string s; cin >> s ; a.push_back(s) ; rep[s]=s; } for(ll i=0;i<n;i++) { string s; cin >> s ; b.push_back(s) ; } for(ll i=0;i<n;i++) { if(var[a[i]]>0) { if(var[b[i]]>0) { // to be a[i] and b[i] is integer if(a[i]!=b[i]) ok=false ; } else { // to be a[i] is an integer and b[i] is a variable b[i]=rep[b[i]] ;// if there is a variable that must be equal to him ll num=0,pw=1; for(ll j=a[i].size()-1;j>=0;j--) { num+=int(a[i][j]-'0')*pw; pw*=10; } if(mp[b[i]]==0) { mp[b[i]]=num; } else { if(mp[b[i]]!=num) ok=false ; } } } else { if(var[b[i]]>0) { a[i]=rep[a[i]] ; ll num=0,pw=1; for(ll j=b[i].size()-1;j>=0;j--) { num+=int(b[i][j]-'0')*pw; pw*=10; } if(mp[a[i]]==0) { mp[a[i]]=num; } else { if(mp[a[i]]!=num) ok=false ; } } else //both of them are variable { b[i]=rep[b[i]]; a[i]=rep[a[i]] ; if(mp[a[i]]==0&&mp[b[i]]!=0) a[i]=b[i] ; else if(mp[b[i]]==0&&mp[a[i]]!=0) b[i]=a[i] ; else if(mp[b[i]]==0&&mp[a[i]]==0) b[i]=a[i] ; else if(mp[b[i]]!=mp[a[i]]!=0)ok=false; } } } if(ok)cout<<"DA"<<endl; else cout<<"NE"<<endl; }

Compilation message (stderr)

zamjena.cpp: In function 'int main()':
zamjena.cpp:95:33: warning: suggest parentheses around comparison in operand of '!=' [-Wparentheses]
   95 |                 else if(mp[b[i]]!=mp[a[i]]!=0)ok=false;
#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...