# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
33072 | 2017-10-19T22:44:32 Z | trath | Cezar (COCI16_cezar) | C++ | 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']++; } } string ans; queue<int> q; for(int i = 0;i<26;i++){ if(sz[i] == 0) q.push(i); } while(!q.empty()){ ans += q.front() + 'a'; int u = q.front(); q.pop(); for(int i = 0;i<adj[u].size();i++){ int v = adj[u][i]; //cout<<v<<endl; sz[v]--; if(sz[v] == 0) q.push(v); } } //cout<<ans<<endl; if(ans.size() == 26){ cout<<"DE"<<endl<<ans<<endl; } else{ cout<<"NE"<<endl; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 2180 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |