# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
83386 | wjoao | Cezar (COCI16_cezar) | C++11 | 3 ms | 620 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#define maxn 500
using namespace std;
string entrada[maxn], ordenado[maxn];
int n, ord[maxn], grau[maxn], atual = 'a', mark[maxn], impossivel;
char encryption[maxn];
vector<int> g[maxn];
void dfs(int v, int cor){
//cout << "Dfs: " << (char)v << " cor: " << (char)cor << endl;
mark[v] = cor;
for(int i = 0; i < g[v].size(); i++){
int u = g[v][i];
if(mark[u] == cor){
impossivel = true;
return;
}else if(mark[u] == 0){
dfs(u, cor);
}
}
encryption[v]=atual++;
}
int main(){
cin >> n;
for(int i = 0; i < n; i++ ) cin >> entrada[i];
for(int i = 0; i < n; i++ ){
cin >> ord[i]; ord[i]--;
ordenado[i] = entrada[ord[i]];
}
//for(int i = 0; i < n; i++){
// cout << ordenado[i] << endl;
//}
for(int i = 1; i < n; i++){
int j = 0;
while( j < ordenado[i].size() &&
j < ordenado[i-1].size() &&
ordenado[i][j] == ordenado[i-1][j] ) j++;
if( j < ordenado[i].size() && j < ordenado[i-1].size()){
g[ordenado[i][j]].push_back(ordenado[i-1][j]);
//cout << (char)ordenado[i][j] << " Tem que ser maior que: " << (char)ordenado[i-1][j] << endl;
}
}
for(int i = 'a'; i <= 'z'; i++){
if(mark[i] == 0) dfs(i, i);
}
if(impossivel){
cout << "NE" << endl;
}else{
cout << "DA" << endl;
for(int i = 'a'; i <= 'z'; i++){
cout << encryption[i];
}cout << endl;
}
return 0;
}
//b->d->c
/*
1 - bbb 2 - ccc c->b
2 - ccc => 3 - ddd d->c
3 - ddd 1 - bbb b->d
1 - ccc b->c
2 - ddd => c->d
3 - bbb d->b
2 3 1
*/
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |
# | 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... |