Submission #792943

#TimeUsernameProblemLanguageResultExecution timeMemory
792943Trisanu_DasZamjena (COCI18_zamjena)C++17
70 / 70
124 ms16028 KiB
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
 
int n, cond;
string a[50005], b[50005];
map<string, vector<string> > adj;
set<string> vis;
 
void dfs(string u){
  vis.insert(u);
  cond += isdigit(u[0]);
  for(auto v : adj[u]) if(vis.find(v) == vis.end()) dfs(v);
}
 
int main(){
  int n; cin >> n;
  for(int i = 0; i < n; i++) cin >> a[i];
  for(int i = 0; i < n; i++) cin >> b[i];
  for(int i = 0; i < n; i++){
    if(a[i] != b[i]){
      adj[a[i]].pb(b[i]);
      adj[b[i]].pb(a[i]);
    }
  }
  for(auto u : adj){
    if(vis.find(u.first) == vis.end()){
      cond = 0; dfs(u.first);
      if(cond > 1){
        cout << "NE\n"; return 0;
      }
    }
  }
  cout << "DA\n";
}
#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...