#include<bits/stdc++.h>
using namespace std;
int n,flag,cnt,size[100005],dad[100005];
string str,val[100005],kendi[100005];
map<string,int> yer;
vector<string> v;
void uni(int root_a,int root_b){
if(size[root_a]<size[root_b]){
dad[root_a]=dad[root_b];
size[root_b]+=size[root_a];
}
else{
dad[root_b]=dad[root_b];
size[root_a]+=size[root_b];
}
}
int root(int i){
while(dad[i]!=i){
dad[i]=dad[dad[i]];
i=dad[i];
}
return i;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
for(int i=0;i<n;i++){
cin >> str;
v.push_back(str);
if(yer.find(str)==yer.end()){
yer[str]=cnt;
kendi[cnt]=str;
val[cnt]=str;
size[cnt]=1;
dad[cnt]=cnt++;
}
}
for(int i=0;i<n;i++){
cin >> str;
if(yer.find(str)==yer.end()){
yer[str]=cnt;
kendi[cnt]=str;
val[cnt]=str;
size[cnt]=1;
dad[cnt]=cnt++;
}
if(str!=v[i]){
if(str.find("0")!=-1 || str.find("1")!=-1 || str.find("2")!=-1 || str.find("3")!=-1 || str.find("4")!=-1 || str.find("5")!=-1 ||
str.find("6")!=-1 || str.find("7")!=-1 || str.find("8")!=-1 || str.find("9")!=-1){
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1)
flag=1;
else{
int baba_v=root(yer[v[i]]);
if(val[baba_v]!=kendi[baba_v] && val[baba_v]!=str)
flag=1;
else
val[baba_v]=str;
}
}
else{
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1){
int baba_str=root(yer[str]);
if(val[baba_str]!=kendi[baba_str] && val[baba_str]!=v[i])
flag=1;
else
val[baba_str]=v[i];
}
else{
int baba_str=root(yer[str]);
int baba_v=root(yer[v[i]]);
if(baba_v!=baba_str){
if(val[baba_v]!=kendi[baba_v] && val[baba_str]!=kendi[baba_str] && val[baba_v]!=val[baba_str])
flag=1;
else{
if(val[baba_v]==kendi[baba_v] && val[baba_str]==kendi[baba_str])
uni(baba_v,baba_str);
else{
if(size[baba_v]<size[baba_str] && val[baba_v]!=kendi[baba_v])
val[baba_str]=val[baba_v];
else if(size[baba_str]<size[baba_v] && val[baba_str]!=kendi[baba_str])
val[baba_v]=val[baba_str];
uni(baba_v,baba_str);
}
}
}
}
}
}
}
printf("%s\n",flag ? "NE" : "DA");
return 0;
}
Compilation message
zamjena.cpp: In function 'int main()':
zamjena.cpp:36:25: warning: operation on 'cnt' may be undefined [-Wsequence-point]
dad[cnt]=cnt++;
~~~^~
zamjena.cpp:46:25: warning: operation on 'cnt' may be undefined [-Wsequence-point]
dad[cnt]=cnt++;
~~~^~
zamjena.cpp:50:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(str.find("0")!=-1 || str.find("1")!=-1 || str.find("2")!=-1 || str.find("3")!=-1 || str.find("4")!=-1 || str.find("5")!=-1 ||
~~~~~~~~~~~~~^~~~
zamjena.cpp:50:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(str.find("0")!=-1 || str.find("1")!=-1 || str.find("2")!=-1 || str.find("3")!=-1 || str.find("4")!=-1 || str.find("5")!=-1 ||
~~~~~~~~~~~~~^~~~
zamjena.cpp:50:71: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(str.find("0")!=-1 || str.find("1")!=-1 || str.find("2")!=-1 || str.find("3")!=-1 || str.find("4")!=-1 || str.find("5")!=-1 ||
~~~~~~~~~~~~~^~~~
zamjena.cpp:50:92: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(str.find("0")!=-1 || str.find("1")!=-1 || str.find("2")!=-1 || str.find("3")!=-1 || str.find("4")!=-1 || str.find("5")!=-1 ||
~~~~~~~~~~~~~^~~~
zamjena.cpp:50:113: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(str.find("0")!=-1 || str.find("1")!=-1 || str.find("2")!=-1 || str.find("3")!=-1 || str.find("4")!=-1 || str.find("5")!=-1 ||
~~~~~~~~~~~~~^~~~
zamjena.cpp:50:134: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(str.find("0")!=-1 || str.find("1")!=-1 || str.find("2")!=-1 || str.find("3")!=-1 || str.find("4")!=-1 || str.find("5")!=-1 ||
~~~~~~~~~~~~~^~~~
zamjena.cpp:51:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
str.find("6")!=-1 || str.find("7")!=-1 || str.find("8")!=-1 || str.find("9")!=-1){
~~~~~~~~~~~~~^~~~
zamjena.cpp:51:55: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
str.find("6")!=-1 || str.find("7")!=-1 || str.find("8")!=-1 || str.find("9")!=-1){
~~~~~~~~~~~~~^~~~
zamjena.cpp:51:76: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
str.find("6")!=-1 || str.find("7")!=-1 || str.find("8")!=-1 || str.find("9")!=-1){
~~~~~~~~~~~~~^~~~
zamjena.cpp:51:97: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
str.find("6")!=-1 || str.find("7")!=-1 || str.find("8")!=-1 || str.find("9")!=-1){
~~~~~~~~~~~~~^~~~
zamjena.cpp:53:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:53:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:53:78: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:53:100: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:53:122: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:53:144: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:54:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1)
~~~~~~~~~~~~~~^~~~
zamjena.cpp:54:61: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1)
~~~~~~~~~~~~~~^~~~
zamjena.cpp:54:83: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1)
~~~~~~~~~~~~~~^~~~
zamjena.cpp:54:105: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1)
~~~~~~~~~~~~~~^~~~
zamjena.cpp:68:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:68:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:68:78: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:68:100: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:68:122: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:68:144: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(v[i].find("0")!=-1 || v[i].find("1")!=-1 || v[i].find("2")!=-1 || v[i].find("3")!=-1 || v[i].find("4")!=-1 || v[i].find("5")!=-1 ||
~~~~~~~~~~~~~~^~~~
zamjena.cpp:69:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1){
~~~~~~~~~~~~~~^~~~
zamjena.cpp:69:61: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1){
~~~~~~~~~~~~~~^~~~
zamjena.cpp:69:83: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1){
~~~~~~~~~~~~~~^~~~
zamjena.cpp:69:105: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
v[i].find("6")!=-1 || v[i].find("7")!=-1 || v[i].find("8")!=-1 || v[i].find("9")!=-1){
~~~~~~~~~~~~~~^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
6648 KB |
Output is correct |
2 |
Correct |
7 ms |
6784 KB |
Output is correct |
3 |
Incorrect |
7 ms |
6792 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
6792 KB |
Output is correct |
2 |
Correct |
8 ms |
6820 KB |
Output is correct |
3 |
Correct |
7 ms |
6872 KB |
Output is correct |
4 |
Correct |
7 ms |
6876 KB |
Output is correct |
5 |
Correct |
7 ms |
6880 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
7012 KB |
Output is correct |
2 |
Incorrect |
7 ms |
7012 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
10 ms |
7012 KB |
Output is correct |
2 |
Incorrect |
10 ms |
7040 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
24 ms |
7824 KB |
Output is correct |
2 |
Incorrect |
49 ms |
9052 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |