CSES - Harjoituskisa 7.1.2018 - Results
Submission details
Task:Ruudukko
Sender:ArktinenKarpalo
Submission time:2018-01-07 20:28:15 +0200
Language:C++
Status:READY
Result:17
Feedback
groupverdictscore
#1ACCEPTED17
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.05 s1details
#4ACCEPTED0.04 s1details
#5ACCEPTED0.05 s1details
#60.05 s2details
#70.05 s2details
#80.05 s2details
#9--2details
#100.05 s2details
#110.28 s3details
#120.27 s3details
#130.29 s3details
#140.33 s3details
#150.26 s3details

Code

#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long

using namespace std;

int n;
char chaa[3030][3030];
bool qaq[3030][3030];
priority_queue<pair<string, pair<int,int>>> q;

int main() {
	cin.tie(0);
	cout.tie(0);
	ios_base::sync_with_stdio(0);
	cin >> n;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=n; j++) {
			cin >> chaa[j][i];
		}
	}
	string aaa = "";
	aaa.push_back(chaa[1][1]);
	q.push(make_pair(aaa, make_pair(1, 1)));
	while(q.top().second.first!=n||q.top().second.second!=n) {
		pair<string, pair<int,int>> up;
		string sa = q.top().first;
		int xx = q.top().second.first;
		int yy = q.top().second.second;
		q.pop();
		if(xx>n)
			continue;
		else if(yy>n)
			continue;
		if(q.top().second.first==n) { // X on limit
			sa.push_back(chaa[xx][yy+1]);
			up.first = sa;
			up.second.first = xx;
			up.second.second = yy+1;
		} else if(q.top().second.second==n) { // Y ON LIMIT
			sa.push_back(chaa[xx+1][yy]);
			up.first = sa;
			up.second.first = xx+1;
			up.second.second = yy;
			q.push(up);
		} else { // VAPAUS
			if(chaa[xx+1][yy]<chaa[xx][yy+1]) {

			sa.push_back(chaa[xx+1][yy]);
			up.first = sa;
			up.second.first = xx+1;
			up.second.second = yy;
			q.push(up);
			} else if(chaa[xx+1][yy]>chaa[xx][yy+1]) {
			
			sa.push_back(chaa[xx][yy+1]);
			up.first = sa;
			up.second.first = xx;
			up.second.second = yy+1;
			} else {
			string sss = sa;
			sss.push_back(chaa[xx+1][yy]);
			up.first = sss;
			up.second.first = xx+1;
			up.second.second = yy;
		q.push(up);		
		sa.push_back(chaa[xx][yy+1]);
			up.first = sa;
			up.second.first = xx;
			up.second.second = yy+1;
			}
			}
		q.push(up);
	}
	cout << q.top().first;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
5
ILRBG
SBRHV
PAGKM
YKKNG
...

correct output
ILBAGKMGQ

user output
ILBAGKMGQ

Test 2

Group: 1

Verdict: ACCEPTED

input
5
KQQBB
IWDQN
TENSD
PGXMV
...

correct output
KITEGMIWH

user output
KITEGMIWH

Test 3

Group: 1

Verdict: ACCEPTED

input
5
DSWIO
RWFDY
ISZRK
GBVYS
...

correct output
DRIGBJDLU

user output
DRIGBJDLU

Test 4

Group: 1

Verdict: ACCEPTED

input
5
VGQFP
FTISL
QCLYU
EYNZZ
...

correct output
VFQCLNRZP

user output
VFQCLNRZP

Test 5

Group: 1

Verdict: ACCEPTED

input
5
WCSNV
UWNDB
WDHZA
XGRBQ
...

correct output
WCSNDBAQW

user output
WCSNDBAQW

Test 6

Group: 2

Verdict:

input
100
WFNOQZOAMZPHFRDYGXQNUPWVMFDNJF...

correct output
WFAHHJDEVFSGGOGMIFDEEDKPSHBBRX...

user output
WFAHHJDEVFSGGOGMIFDEEDKPSHBBRX...

Test 7

Group: 2

Verdict:

input
100
UEOPTOSBCABXIPUOQRKWKMZRGRZUSS...

correct output
UEGHLIWDHDVKTECPACBJABFMBOASOF...

user output
UEGHLIWDHDVKTFIPACBJABFMBOASOF...

Test 8

Group: 2

Verdict:

input
100
XCKBHDFAPMFZNJANJUENHGXYBBHFJR...

correct output
XCCENJBCBUFBIOJOJDREIBGRUKVRQS...

user output
XCCENJBCBUFBIOJOJDREIBGRUKVRQS...

Test 9

Group: 2

Verdict:

input
100
YEBXYYLVUDYIHNUMRCUTAYVTNLMEZL...

correct output
YDJNBALIRDOVFBKDDJDFNSSMIDMFRM...

user output
(empty)

Test 10

Group: 2

Verdict:

input
100
MVONBCDHJUKRKDGPNYSYGRXBLZOMLD...

correct output
MMSJFIKBSFCUMBBLXJCOUIRAPOKEJS...

user output
MMSJFIKBSFVLJKFBGBECIGIGJAIFAG...

Test 11

Group: 3

Verdict:

input
2500
LKEFOYQTRZJHADSYBRGQCUDOPMGYOF...

correct output
LDHPNOFPFOCGKPNCEQKANCJCBLGDKC...

user output
LDHPNOFPFOCGKPNCEQKANCJCBLGDKC...

Test 12

Group: 3

Verdict:

input
2500
UGPBLFMZGVIANZLHRTPJIHMUZWOXKA...

correct output
UGLSEBMGHSONFJBGOJJAGBJCLFAHAP...

user output
UGLSEBMGHSONFJBGOJJAGBJCLFAHAP...

Test 13

Group: 3

Verdict:

input
2500
YRUOZBRTLLMMAHNIHQLZHBYCDHTHMS...

correct output
YELLJAAKETHCOWAJNDGJBOFNTCCEDA...

user output
YELLJAAKETHIOQOFREHNGJIKTILONL...

Test 14

Group: 3

Verdict:

input
2500
RXZEOTVYZBQUOJJFLCJCYCZDONBLUR...

correct output
RTDHUEBGLTKRHKIQLGKILATNHWPIBO...

user output
RTDHUEBGLTKRHKIQLGKILATNHWPIBO...

Test 15

Group: 3

Verdict:

input
2500
IOTRAMNHKWWBVPQPPWTTBHOYDFXPOX...

correct output
IOTQTIDOBFMJBDNOFEFGGIBGAGQBIC...

user output
IOTQTIDOBFMJBDNOHDTKGFQBCKDLCB...