| 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) |
