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;
string dizi[100007];
string dizi2[100007];
map<string,vector<pair<int,bool>>>degisken;
map<string,string>act;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
// string gir;
for(int i=0;i<n;i++)
{
cin >> dizi[i];
if(!isdigit(dizi[i][0]))
{
degisken[dizi[i]].push_back({i,0});
}
}
for(int i=0;i<n;i++)
{
cin >> dizi2[i];
if(!isdigit(dizi2[i][0]))
{
degisken[dizi2[i]].push_back({i,1});
// if(isdigit(dizi[i][0]))
// {
// }
}
else
{
if(isdigit(dizi[i][0]))
{
if(dizi[i]!=dizi2[i])
{
cout << "NE\n";
exit(0);
}
}
}
}
for(int i=0;i<=n;i++)
{
// for(int i=0;i<n;i++)
// {
// cout << dizi[i] << " ";
// }
// cout <<"\n";
// for(int i=0;i<n;i++)
// {
// cout << dizi2[i] << " ";
// }
// cout <<"\n\n";
if(!isdigit(dizi[i][0]) && !isdigit(dizi2[i][0]) && dizi[i]!=dizi2[i])
{
// cout << i << " ";
string za=dizi2[i];
for(auto x:degisken[za])
{
degisken[dizi[i]].push_back(x);
// cout << x.first << " ";
if(x.second==0)
{
dizi[x.first]=dizi[i];
}
else
dizi2[x.first]=dizi[i];
}
degisken.erase(degisken.find(za));
}
}
for(int i=0;i<n;i++)
{
if(isdigit(dizi[i][0]) && !isdigit(dizi2[i][0]))
{
string muz=dizi[i],muz2=dizi2[i];
for(auto x:degisken[muz2])
{
if(x.second==0)
{
dizi[x.first]=muz;
}
else
dizi2[x.first]=muz;
}
degisken.erase(degisken.find(muz2));
}
else if(!isdigit(dizi[i][0])&& isdigit(dizi2[i][0]))
{
string muz=dizi2[i],muz2=dizi[i];
for(auto x:degisken[muz2])
{
if(x.second==0)
{
dizi[x.first]=muz;
}
else
dizi2[x.first]=muz;
}
degisken.erase(degisken.find(muz2));
}
}
/*for(int i=0;i<n;i++)
{
cout << dizi[i] << " ";
}
cout <<"\n";
for(int i=0;i<n;i++)
{
cout<< dizi2[i] << " ";
}*/
for(int i=0;i<n;i++)
{
if(dizi[i]!=dizi2[i])
{
cout <<"NE\n";
exit(0);
}
}
cout << "DA\n";
exit(0);
// for(int i=0;i<n;i++)
// {
// if(!isdigit(dizi[i][0]) && !isdigit(dizi2[i][0]))
// {
// for(auto x:degisken2[dizi2[i]])
// {
// // degisken[dizi[i]]
// }
// }
// }
}
# | 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... |