CSES - Leirikisa 9.12.2021 - Results
Submission details
Task:Ruudukko
Sender:Anttono
Submission time:2021-12-09 14:37:27 +0200
Language:C++ (C++11)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1details
#2ACCEPTED0.01 s1details
#30.01 s1details
#40.01 s1details
#50.01 s1details
#6ACCEPTED0.01 s2details
#7ACCEPTED0.01 s2details
#80.01 s2details
#90.01 s2details
#100.01 s2details
#11--3details
#12ACCEPTED0.85 s3details
#130.03 s3details
#140.03 s3details
#150.03 s3details

Code

#include <bits/stdc++.h>
using namespace std;
const int N = 501;
int n;
string m[N];
int r[N][N];
// 1 = start
// 2 = x-1
// 3 = y-1
int main()
{
cin>>n;
string s;
for(int i=0;i<n;i++)
{
cin>>s;
m[i] = s;
}
for(int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
if(x==0 && y==0) r[x][y] = 1;
else if(x==0) r[x][y] = 3;
else if(y==0) r[x][y] = 2;
else
{
pair<int,int> lpos;
lpos.first = x-1;
lpos.second = y;
pair<int,int> upos;
upos.first = x;
upos.second = y-1;
while(m[lpos.first][lpos.second] == m[upos.first][upos.second])
{
if(lpos.first==0 && lpos.second==0 && upos.first==0 && upos.second==0) break;
int x = 3 - r[lpos.first][lpos.second];
int y = r[lpos.first][lpos.second] - 2;
lpos.first -= x;
lpos.second -= y;
x = 3 - r[upos.first][upos.second];
y = r[upos.first][upos.second] - 2;
upos.first -= x;
upos.second -= y;
}
if(m[lpos.first][lpos.second] < m[upos.first][upos.second]) r[x][y] = 2;
else r[x][y] = 3;
}
}
}
int x = n-1;
int y = n-1;
string result = "";
while(x>=0 && y>=0)
{
result += m[x][y];
int xc = 3 - r[x][y];
int yc = r[x][y] - 2;
x -= xc;
y -= yc;
}
reverse(result.begin(), result.end());
cout<<result;
}

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:

input
5
WRYIU
TWLKH
UJMJC
GRDJW
...

correct output
WRWJMDJWK

user output
WRYIKHCWK

Test 4

Group: 1

Verdict:

input
5
RUEAE
ZYHHW
KDBPD
DXREW
...

correct output
RUEAEWDWX

user output
RZKDBPEGX

Test 5

Group: 1

Verdict:

input
5
SRGYR
MYDOB
GNOVM
SZOZK
...

correct output
SMGNOOLTU

user output
SRGDOBMKU

Test 6

Group: 2

Verdict: ACCEPTED

input
100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 7

Group: 2

Verdict: ACCEPTED

input
100
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...
Truncated

Test 8

Group: 2

Verdict:

input
100
FWOVNYKNMMQCNHJGUYPNEDXGVVGONC...

correct output
FWDBDECKBHKIACOVUCJGDJOHAYIBHO...

user output
FWDBDECKBKFIAECTUCJGOAOHAYIDHI...
Truncated

Test 9

Group: 2

Verdict:

input
100
ETGCJABWKMAAEOQXWFFYMDJBMNKMQK...

correct output
EAARGLBRLHCDHHBPABHDAJBEEBHQBE...

user output
EAARGLYSIHQCMBJHCAEGCIHOFKDNPF...
Truncated

Test 10

Group: 2

Verdict:

input
100
GNWMLJNHSBAADUFCSGIZMWHZTVDHNR...

correct output
GEGOFRDKBNLLEUOPOEQCEFMTKANLNC...

user output
GEGXCGEDKFKFJODBEGHKFLFBLNKDDH...
Truncated

Test 11

Group: 3

Verdict:

input
500
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
(empty)

Test 12

Group: 3

Verdict: ACCEPTED

input
500
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...
Truncated

Test 13

Group: 3

Verdict:

input
500
HGADXTSFXYIEMDWMFIVQGHTACFUPYI...

correct output
HGADEJOGAKPJCRAHTABRSDLAVGBFAG...

user output
HGADXTSFXYIEMDWMFIVQGHTACFUPYI...
Truncated

Test 14

Group: 3

Verdict:

input
500
SBLNMAZESQVGWAPZYHQJMQTNGMEZWS...

correct output
SBLCAMDHILGIDRCIDUNMMAHFYCENOS...

user output
SETUPPBFFFARKBIYAQKNUIJDOHKVTR...
Truncated

Test 15

Group: 3

Verdict:

input
500
AOXYXRYFWPYWQDPWXQITLHQQUAYZAJ...

correct output
AOJLDOAPBGEKSGCNKBUMKAJCCWCOOD...

user output
AQLXKNXBCPVGVFCNKBUMODDQKENDDH...
Truncated