이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
#define lalala ios_base::sync_with_stdio(false);cin.tie(NULL);
//#define endl "\n"
#define int long long int
#define pb push_back
#define N 105
map<string,string> mp;
map<string,int> var;
signed main(){
lalala;
int n;cin>>n;
vector<string> bir, iki;
for(int i=0;i<n;i++){
string str;cin>>str;
bir.pb(str);
if((str[0]-'0'<=9)){
mp[str]=str;
}
else{
mp[str]="&&";
}
var[str]=1;
}
int yes=1;
for(int i=0;i<n;i++){
string str;cin>>str;
iki.pb(str);
if((str[0]-'0'<=9)){
mp[str]=str;
}
else{
if(var[str]==0)mp[str]="&&";
}var[str]=1;
if(mp[iki[i]]==mp[bir[i]])continue;
if(mp[iki[i]]=="&&")mp[iki[i]]=mp[bir[i]];
if(mp[bir[i]]=="&&")mp[bir[i]]=mp[iki[i]];
if(mp[bir[i]]!=mp[iki[i]])yes=0;
}
int uwu=10;
while(uwu--){
if(yes==0)break;
for(int i=n-1;i>-1;i--){
if(mp[iki[i]]==mp[bir[i]])continue;
if(mp[iki[i]]=="&&")mp[iki[i]]=mp[bir[i]];
if(mp[bir[i]]=="&&")mp[bir[i]]=mp[iki[i]];
if(mp[bir[i]]!=mp[iki[i]]){
yes=0;
break;
}
}
for(int i=0;i<n;i++){
if(mp[iki[i]]==mp[bir[i]])continue;
if(mp[iki[i]]=="&&")mp[iki[i]]=mp[bir[i]];
if(mp[bir[i]]=="&&")mp[bir[i]]=mp[iki[i]];
if(mp[bir[i]]!=mp[iki[i]]){
yes=0;
break;
}
}
}
if(yes)cout<<"DA"<<endl;
else cout<<"NE"<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |