# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
33076 | 2017-10-19T23:07:59 Z | trath | Cezar (COCI16_cezar) | C++14 | 0 ms | 2180 KB |
#include <bits/stdc++.h> using namespace std; #define F first #define S second #define mp make_pair #define pb push_back #define ieps (int) 1e6 #define eps (int) 1e9 #define pii pair<int,int> // Introduction et Rondo Capriccioso :) vector<char> adj[27]; int sz[27]; int32_t main(){ ios_base::sync_with_stdio(false); int n; cin>>n; vector<string> s(n); for(int i = 0;i<n;i++) cin>>s[i]; vector<int> ord(n); for(int i = 0;i<n;i++) cin>>ord[i]; for(int i = 0;i<n - 1;i++){ string f = s[ord[i] - 1] , t = s[ord[i+1] - 1]; int mismatch = -1; for(int i = 0; i<min(f.size() , t.size()) ; i++){ if(f[i] != t[i]){ mismatch = i; break; } } //cout<<mismatch<<endl; if(mismatch == -1 && f.size() != t.size()){ if(f.size() < t.size()) continue; cout<<"NE"<<endl; return 0; } else{ adj[f[mismatch] - 'a'].pb(t[mismatch] - 'a'); //cout<<f[mismatch]<<" "<<t[mismatch]<<endl; sz[t[mismatch] - 'a']++; } } int cnt = 0LL; char curr = 'a'; string ans; for(int i = 0;i<26;i++) ans += ' '; queue<int> q; for(int i = 0;i<26;i++){ if(sz[i] == 0) q.push(i); } while(!q.empty()){ ans[q.front()] = curr++; int u = q.front(); q.pop(); cnt++; for(auto tt : adj[u]){ sz[tt]--; if(sz[tt] == 0) q.push(tt); } } //cout<<ans<<endl; if(cnt== 26){ cout<<"DA"<<endl<<ans<<endl; } else{ cout<<"NE"<<endl; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2180 KB | Output is correct |
2 | Correct | 0 ms | 2180 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2180 KB | Output is correct |
2 | Correct | 0 ms | 2180 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2180 KB | Output is correct |
2 | Correct | 0 ms | 2180 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |