# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
46987 | 2018-04-25T19:13:19 Z | diegogrc | Cezar (COCI16_cezar) | C++17 | 2 ms | 748 KB |
// Copyright © 2018 Diego Garcia Rodriguez del Campo. All rights reserved. #include<bits/stdc++.h> #define MAX 105 #define ALPHA 30 #define optimiza_io cin.tie(0); ios_base::sync_with_stdio(0); using namespace std; typedef long long i64; int N, tot; string word[MAX]; int in[MAX]; int ord[MAX]; int ady[ALPHA][ALPHA]; vector < int > adyy[MAX]; queue < int > q; queue < int > ans; int main() { optimiza_io cin >> N; for( int i = 1; i <= N; i ++ ) cin >> word[i]; for( int i = 1; i <= N; i ++ ) cin >> ord[i]; for( int i = 1; i <= N; i ++ ) for( int j = i + 1; j <= N; j ++ ) { int a = ord[i], b = ord[j]; int idx = 0; while( idx < word[a].size() && idx < word[b].size() && word[a][idx] == word[b][idx] ) idx++; if( idx < word[a].size() && idx < word[b].size() ) ady[word[a][idx] - 'a' + 1][word[b][idx] - 'a' + 1] = 1; } for( int i = 1; i <= 26; i ++ ) for( int j = 1; j <= 26; j ++ ) if( ady[i][j] ) { in[j]++; adyy[i].push_back( j ); } for( int i = 1; i <= 26; i ++ ) if( ! in[i] ) { q.push( i ); tot++; } while( ! q.empty() ) { int x = q.front(); q.pop(); ans.push( x ); for( auto v : adyy[x] ) { in[v]--; if( ! in[v] ) { tot++; q.push( v ); } } } if( tot != 26 ) cout << "NE\n"; else { cout << "DA\n"; while( ! ans.empty() ) { char a = ans.front() + 'a' - 1; cout << a; ans.pop(); } } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 488 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 488 KB | Output is correct |
2 | Incorrect | 2 ms | 528 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 532 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 616 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 616 KB | Output is correct |
2 | Incorrect | 2 ms | 616 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 712 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 740 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 744 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 748 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |