CSES - Datatähti 2015 loppu - Results
Submission details
Task:Ruudukko
Sender:eXeP
Submission time:2015-06-26 17:33:24 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED17
#2ACCEPTED42
#3ACCEPTED41
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.07 s1details
#5ACCEPTED0.06 s1details
#6ACCEPTED0.06 s2details
#7ACCEPTED0.06 s2details
#8ACCEPTED0.06 s2details
#9ACCEPTED0.06 s2details
#10ACCEPTED0.06 s2details
#11ACCEPTED0.07 s3details
#12ACCEPTED0.07 s3details
#13ACCEPTED0.06 s3details
#14ACCEPTED0.06 s3details
#15ACCEPTED0.06 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:14:9: warning: unused variable 'dp' [-Wunused-variable]
     int dp[505][505] = {0};
         ^

Code

#include <bits/stdc++.h>

using namespace std;

int main()
{
    cin.sync_with_stdio(0);
    cin.tie(0);

    int n; cin >> n;
    string t[505];
    for(int i = 0; i < n; i++)
        cin >> t[i];
    int dp[505][505] = {0};
    bool p[505][505] = {0};
    p[0][0] = 1;
    string ans = " ";
    ans.resize(2*n-1);
    ans[0] = t[0][0];
    for(int i = 1; i < 2*n-1; i++)
        ans[i] = 'Z'+1;
    for(int i = 1; i < n; i++){
        int ii = i;
        for(int j = 0; j < n && ii >= 0;j++){
            if(j>0){
                if(p[ii][j-1] && t[ii][j-1]==ans[i-1]){
                    p[ii][j] = 1;
                    ans[i] = min(ans[i], t[ii][j]);
                }
            }
            if(ii>0){
                if(p[ii-1][j] && t[ii-1][j]==ans[i-1]){
                    p[ii][j] = 1;
                    ans[i] = min(ans[i], t[ii][j]);
                }
            }
            ii--;
        }

    }
    int i = n;
    for(int j = 1; j < n; j++){
        int jj = j;
        for(int ii = n-1; ii>=0 && jj<n; ii--){
            //cout << "nyt " << ii << ", " << jj << endl;
            if(ii>0){
                if(p[ii-1][jj] && t[ii-1][jj]==ans[i-1]){
                    p[ii][jj] = 1;
                    ans[i] = min(ans[i], t[ii][jj]);
                }
            }
            if(jj>0){
                if(p[ii][jj-1] && t[ii][jj-1]==ans[i-1]){
                    p[ii][jj] = 1;
                    ans[i] = min(ans[i], t[ii][jj]);
                }
            }
            jj++;
        }
        i++;
    }
    cout << ans << endl;
    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: ACCEPTED

input
100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

Test 7

Group: 2

Verdict: ACCEPTED

input
100
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...

Test 8

Group: 2

Verdict: ACCEPTED

input
100
FWOVNYKNMMQCNHJGUYPNEDXGVVGONC...

correct output
FWDBDECKBHKIACOVUCJGDJOHAYIBHO...

user output
FWDBDECKBHKIACOVUCJGDJOHAYIBHO...

Test 9

Group: 2

Verdict: ACCEPTED

input
100
ETGCJABWKMAAEOQXWFFYMDJBMNKMQK...

correct output
EAARGLBRLHCDHHBPABHDAJBEEBHQBE...

user output
EAARGLBRLHCDHHBPABHDAJBEEBHQBE...

Test 10

Group: 2

Verdict: ACCEPTED

input
100
GNWMLJNHSBAADUFCSGIZMWHZTVDHNR...

correct output
GEGOFRDKBNLLEUOPOEQCEFMTKANLNC...

user output
GEGOFRDKBNLLEUOPOEQCEFMTKANLNC...

Test 11

Group: 3

Verdict: ACCEPTED

input
500
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

Test 12

Group: 3

Verdict: ACCEPTED

input
500
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...

Test 13

Group: 3

Verdict: ACCEPTED

input
500
HGADXTSFXYIEMDWMFIVQGHTACFUPYI...

correct output
HGADEJOGAKPJCRAHTABRSDLAVGBFAG...

user output
HGADEJOGAKPJCRAHTABRSDLAVGBFAG...

Test 14

Group: 3

Verdict: ACCEPTED

input
500
SBLNMAZESQVGWAPZYHQJMQTNGMEZWS...

correct output
SBLCAMDHILGIDRCIDUNMMAHFYCENOS...

user output
SBLCAMDHILGIDRCIDUNMMAHFYCENOS...

Test 15

Group: 3

Verdict: ACCEPTED

input
500
AOXYXRYFWPYWQDPWXQITLHQQUAYZAJ...

correct output
AOJLDOAPBGEKSGCNKBUMKAJCCWCOOD...

user output
AOJLDOAPBGEKSGCNKBUMKAJCCWCOOD...