This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int n ;
cin >> n;
string a[n+1],b[n+1];
for(int i= 1; i<=n ;i++)
{
cin >> a[i];
}
for(int i= 1; i<=n ;i++)
{
cin >> b[i];
}
map<string,string>mp;
bool first,second;
for(int i= 1; i<=n ;i++)
{
first=false;
second=false;
if(a[i]!=b[i])
{
if(a[i].size()==1&&a[i][0]-'0'<=9&&a[i][0]-'0'>=0)
{
first=true;
}
if(b[i].size()==1&&b[i][0]-'0'<=9&&b[i][0]-'0'>=0)
{
second=true;
}
if(first&&second&&a[i]!=b[i])
{
cout << "NO\n";
return 0;
}
if(first)
{
if(mp[b[i]]!=""&&mp[b[i]]!=a[i])
{
cout << "NO\n";
return 0;
}
mp[b[i]]=a[i];
}
if(second)
{
if(mp[a[i]]!=""&&mp[a[i]]!=b[i])
{
cout << "NE\n";
return 0;
}
mp[a[i]]=b[i];
}
}
}
for(int i = 1 ; i<=n ;i++)
{
first=false;
second=false;
if(a[i].size()==1&&a[i][0]-'0'<=9&&a[i][0]-'0'>=0)
{
first=true;
}
if(b[i].size()==1&&b[i][0]-'0'<=9&&b[i][0]-'0'>=0)
{
second=true;
}
if(first&&second)
continue;
if(first)
{
b[i]=mp[b[i]];
}
if(second)
{
a[i]=mp[a[i]];
}
}
for(int i = 1; i <=n ;i++)
{
first=false;
second=false;
if(a[i].size()==1&&a[i][0]-'0'<=9&&a[i][0]-'0'>=0)
{
first=true;
}
if(b[i].size()==1&&b[i][0]-'0'<=9&&b[i][0]-'0'>=0)
{
second=true;
}
if(first&&second&&a[i]!=b[i])
{
cout << "NE\n";
return 0;
}
}
cout << "DA\n";
return 0;
}
# | 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... |