Task: | Ruudukko |
Sender: | Pietu1998 |
Submission time: | 2015-01-29 14:02:19 +0200 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | RUNTIME ERROR | 0 |
#2 | RUNTIME ERROR | 0 |
#3 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | RUNTIME ERROR | 0.54 s | 1 | details |
#2 | RUNTIME ERROR | 0.51 s | 1 | details |
#3 | WRONG ANSWER | 0.05 s | 1 | details |
#4 | WRONG ANSWER | 0.06 s | 1 | details |
#5 | WRONG ANSWER | 0.06 s | 1 | details |
#6 | RUNTIME ERROR | 1.75 s | 2 | details |
#7 | RUNTIME ERROR | 1.75 s | 2 | details |
#8 | TIME LIMIT EXCEEDED | -- | 2 | details |
#9 | TIME LIMIT EXCEEDED | -- | 2 | details |
#10 | TIME LIMIT EXCEEDED | -- | 2 | details |
#11 | TIME LIMIT EXCEEDED | -- | 3 | details |
#12 | TIME LIMIT EXCEEDED | -- | 3 | details |
#13 | TIME LIMIT EXCEEDED | -- | 3 | details |
#14 | RUNTIME ERROR | 2.96 s | 3 | details |
#15 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
#include <iostream> #include <vector> #include <algorithm> using namespace std; int s = 0; struct rt { vector<char> str; int x, y; int i; rt(char c): x(0), y(0), i(1) { str = vector<char>(s + 1); str[0] = c; } rt(const rt& o): x(o.x), y(o.y), i(o.i) { str = vector<char>(s + 1); for (int j = 0; j < s; j++) { str[j] = o.str[j]; } } }; bool cmp(rt a, rt b) { for (int i = 0; i < s; i++) { if (a.str[i] < b.str[i]) return true; if (a.str[i] > b.str[i]) return false; } return false; } int main() { cin.sync_with_stdio(false); int n; cin >> n; vector<vector<char> > r(n); for (int i = 0; i < n; i++) { r[i] = vector<char>(n); for (int j = 0; j < n; j++) { cin >> r[i][j]; } } // siirtomäärä s = n * n - 2 * n + 1; vector<rt> t(n * n, rt(0x7F)); int m = 1; t[0] = rt(r[0][0]); for (int i = 0; i < s; i++) { int u = m; for (int j = 0; j < u; j++) { if (t[j].x == n - 1) t[j].str[t[j].i++] = r[t[j].x][++t[j].y]; else if (t[j].y == n - 1) t[j].str[t[j].i++] = r[++t[j].x][t[j].y]; else { char a = r[t[j].x + 1][t[j].y]; char b = r[t[j].x][t[j].y + 1]; if (a < b) t[j].str[t[j].i++] = r[++t[j].x][t[j].y]; else if (b < a) t[j].str[t[j].i++] = r[t[j].x][++t[j].y]; else { rt o(t[j]); t[j].str[t[j].i++] = r[++t[j].x][t[j].y]; o.str[o.i++] = r[o.x][++o.y]; t[m++] = o; } } } } sort(t.begin(), t.end(), cmp); for (int i = 0; i <= s; i++) { cout << t[0].str[i]; } cout << endl; }
Test details
Test 1
Group: 1
Verdict: RUNTIME ERROR
input |
---|
5 AAAAA AAAAA AAAAA AAAAA ... |
correct output |
---|
AAAAAAAAB |
user output |
---|
(empty) |
Test 2
Group: 1
Verdict: RUNTIME ERROR
input |
---|
5 ABABA BABAB ABABA BABAB ... |
correct output |
---|
ABABABABA |
user output |
---|
(empty) |
Test 3
Group: 1
Verdict: WRONG ANSWER
input |
---|
5 WRYIU TWLKH UJMJC GRDJW ... |
correct output |
---|
WRWJMDJWK |
user output |
---|
WRWJMDJWK |
Test 4
Group: 1
Verdict: WRONG ANSWER
input |
---|
5 RUEAE ZYHHW KDBPD DXREW ... |
correct output |
---|
RUEAEWDWX |
user output |
---|
RUEAEWDWX |
Test 5
Group: 1
Verdict: WRONG ANSWER
input |
---|
5 SRGYR MYDOB GNOVM SZOZK ... |
correct output |
---|
SMGNOOLTU |
user output |
---|
SMGNOOLTU |
Test 6
Group: 2
Verdict: RUNTIME ERROR
input |
---|
100 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
user output |
---|
(empty) |
Test 7
Group: 2
Verdict: RUNTIME ERROR
input |
---|
100 ABABABABABABABABABABABABABABAB... |
correct output |
---|
ABABABABABABABABABABABABABABAB... |
user output |
---|
(empty) |
Test 8
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 FWOVNYKNMMQCNHJGUYPNEDXGVVGONC... |
correct output |
---|
FWDBDECKBHKIACOVUCJGDJOHAYIBHO... |
user output |
---|
(empty) |
Test 9
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 ETGCJABWKMAAEOQXWFFYMDJBMNKMQK... |
correct output |
---|
EAARGLBRLHCDHHBPABHDAJBEEBHQBE... |
user output |
---|
(empty) |
Test 10
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100 GNWMLJNHSBAADUFCSGIZMWHZTVDHNR... |
correct output |
---|
GEGOFRDKBNLLEUOPOEQCEFMTKANLNC... |
user output |
---|
(empty) |
Test 11
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
500 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
user output |
---|
(empty) |
Test 12
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
500 ABABABABABABABABABABABABABABAB... |
correct output |
---|
ABABABABABABABABABABABABABABAB... |
user output |
---|
(empty) |
Test 13
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
500 HGADXTSFXYIEMDWMFIVQGHTACFUPYI... |
correct output |
---|
HGADEJOGAKPJCRAHTABRSDLAVGBFAG... |
user output |
---|
(empty) |
Test 14
Group: 3
Verdict: RUNTIME ERROR
input |
---|
500 SBLNMAZESQVGWAPZYHQJMQTNGMEZWS... |
correct output |
---|
SBLCAMDHILGIDRCIDUNMMAHFYCENOS... |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
500 AOXYXRYFWPYWQDPWXQITLHQQUAYZAJ... |
correct output |
---|
AOJLDOAPBGEKSGCNKBUMKAJCCWCOOD... |
user output |
---|
(empty) |