| Task: | Ruudukko |
| Sender: | MojoLake |
| Submission time: | 2021-12-09 16:34:09 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 17 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 17 |
| #2 | TIME LIMIT EXCEEDED | 0 |
| #3 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1 | details |
| #2 | ACCEPTED | 0.01 s | 1 | details |
| #3 | ACCEPTED | 0.01 s | 1 | details |
| #4 | ACCEPTED | 0.01 s | 1 | details |
| #5 | ACCEPTED | 0.01 s | 1 | details |
| #6 | TIME LIMIT EXCEEDED | -- | 2 | details |
| #7 | TIME LIMIT EXCEEDED | -- | 2 | details |
| #8 | ACCEPTED | 0.01 s | 2 | details |
| #9 | ACCEPTED | 0.02 s | 2 | details |
| #10 | ACCEPTED | 0.07 s | 2 | details |
| #11 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #12 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #13 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #14 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #15 | TIME LIMIT EXCEEDED | -- | 3 | details |
Compiler report
input/code.cpp: In function 'void bt(int, int, std::__cxx11::string)':
input/code.cpp:16:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i = 0; i < now.length() - best.length(); ++i)help+="A";
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
input/code.cpp:25:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i = 0; i < best.length() - now.length(); ++i)now+="A";
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Code
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n;
vector<string> ans;
string str[500][500];
string best = "";
string full_best = "";
void bt(int y, int x, string now){
now+=str[y][x];
if(now.length() > best.length()){
string help = best;
for(int i = 0; i < now.length() - best.length(); ++i)help+="A";
if(now<help)best=now;
}
else if(now.length() == best.length()){
if(now>best)return;
else best=now;
}
else if(now.length() < best.length()){
string help = now;
for(int i = 0; i < best.length() - now.length(); ++i)now+="A";
if(now>best)return;
}
if(x==n-1&&y==n-1){
if(now<full_best)full_best=now;
return;
}
else if(x==n-1)bt(y+1, x, now);
else if(y==n-1)bt(y, x+1, now);
else if(str[y][x+1]==str[y+1][x]){
bt(y+1, x, now); bt(y, x+1, now);
return;
}
else if(str[y][x+1]<str[y+1][x]){
bt(y, x+1, now);
}
else bt(y+1, x, now);
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
cin >> n;
for(int i = 0; i < 2 * n - 1; ++i)full_best+="Z";
for(int i = 0; i < n; ++i){
for(int k = 0; k < n; ++k){
char c; cin >> c;
str[i][k].push_back(c);
}
}
bt(0, 0, "");
cout << full_best;
return 0;
}
Test details
Test 1
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 5 AAAAA AAAAA AAAAA AAAAA ... |
| correct output |
|---|
| AAAAAAAAB |
| user output |
|---|
| AAAAAAAAB |
Test 2
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 5 ABABA BABAB ABABA BABAB ... |
| correct output |
|---|
| ABABABABA |
| user output |
|---|
| ABABABABA |
Test 3
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 5 WRYIU TWLKH UJMJC GRDJW ... |
| correct output |
|---|
| WRWJMDJWK |
| user output |
|---|
| WRWJMDJWK |
Test 4
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 5 RUEAE ZYHHW KDBPD DXREW ... |
| correct output |
|---|
| RUEAEWDWX |
| user output |
|---|
| RUEAEWDWX |
Test 5
Group: 1
Verdict: ACCEPTED
| input |
|---|
| 5 SRGYR MYDOB GNOVM SZOZK ... |
| correct output |
|---|
| SMGNOOLTU |
| user output |
|---|
| SMGNOOLTU |
Test 6
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
| correct output |
|---|
| AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
| user output |
|---|
| (empty) |
Test 7
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 ABABABABABABABABABABABABABABAB... |
| correct output |
|---|
| ABABABABABABABABABABABABABABAB... |
| user output |
|---|
| (empty) |
Test 8
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 100 FWOVNYKNMMQCNHJGUYPNEDXGVVGONC... |
| correct output |
|---|
| FWDBDECKBHKIACOVUCJGDJOHAYIBHO... |
| user output |
|---|
| FWDBDECKBHKIACOVUCJGDJOHAYIBHO... Truncated |
Test 9
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 100 ETGCJABWKMAAEOQXWFFYMDJBMNKMQK... |
| correct output |
|---|
| EAARGLBRLHCDHHBPABHDAJBEEBHQBE... |
| user output |
|---|
| EAARGLBRLHCDHHBPABHDAJBEEBHQBE... Truncated |
Test 10
Group: 2
Verdict: ACCEPTED
| input |
|---|
| 100 GNWMLJNHSBAADUFCSGIZMWHZTVDHNR... |
| correct output |
|---|
| GEGOFRDKBNLLEUOPOEQCEFMTKANLNC... |
| user output |
|---|
| GEGOFRDKBNLLEUOPOEQCEFMTKANLNC... Truncated |
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: TIME LIMIT EXCEEDED
| 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) |
