CSES - Harjoituskisa 7.1.2018 - Results
Submission details
Task:Ruudukko
Sender:Kuha
Submission time:2018-01-07 19:17:55 +0200
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED17
#2ACCEPTED42
#3ACCEPTED41
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.04 s1details
#3ACCEPTED0.05 s1details
#4ACCEPTED0.04 s1details
#5ACCEPTED0.05 s1details
#6ACCEPTED0.05 s2details
#7ACCEPTED0.05 s2details
#8ACCEPTED0.05 s2details
#9ACCEPTED0.05 s2details
#10ACCEPTED0.04 s2details
#11ACCEPTED0.14 s3details
#12ACCEPTED0.20 s3details
#13ACCEPTED0.15 s3details
#14ACCEPTED0.12 s3details
#15ACCEPTED0.14 s3details

Code

#include <bits/stdc++.h>

#define N (1<<17)
#define ll long long
#define ld long double
#define M 1000000007
#define INF 0x5ADFACE5
#define LINF 0x51DEEFFEC7C0DECALL
#define pii pair<int, int>
#define pll pair<long long, long long>
#define F first
#define S second

using namespace std;

int f[2555][2555];
int e[2555][2555];
char c[2555][2555];

int main () {
	cin.sync_with_stdio(false);
	cin.tie(0);
	int n;
	cin>>n;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) cin>>c[i][j];
	}
	vector<pii> v = {{0, 0}};
	string ans;
	ans.push_back(c[0][0]);
	while (!v.empty()) {
		vector<pii> q;
		char mn = 'Z' + 1;
		for (pii p : v) {
			int y = p.F;
			int x = p.S;
			if (c[y + 1][x] && !e[y + 1][x]) {
				q.push_back({y + 1, x});
				e[y + 1][x] = 1;
				f[y + 1][x] = 1;
				mn = min(mn, c[y + 1][x]);
			}
			if (c[y][x + 1] && !e[y][x + 1]) {
				q.push_back({y, x + 1});
				e[y][x + 1] = 1;
				f[y][x + 1] = 2;
				mn = min(mn, c[y][x + 1]);
			}
		}
		v.clear();
		if (mn <= 'Z') ans.push_back(mn);
		for (pii p : q) {
			if (c[p.F][p.S] == mn) {
				v.push_back(p);
			}
		}
	}
	cout<<ans<<endl;
}

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: ACCEPTED

input
100
WFNOQZOAMZPHFRDYGXQNUPWVMFDNJF...

correct output
WFAHHJDEVFSGGOGMIFDEEDKPSHBBRX...

user output
WFAHHJDEVFSGGOGMIFDEEDKPSHBBRX...

Test 7

Group: 2

Verdict: ACCEPTED

input
100
UEOPTOSBCABXIPUOQRKWKMZRGRZUSS...

correct output
UEGHLIWDHDVKTECPACBJABFMBOASOF...

user output
UEGHLIWDHDVKTECPACBJABFMBOASOF...

Test 8

Group: 2

Verdict: ACCEPTED

input
100
XCKBHDFAPMFZNJANJUENHGXYBBHFJR...

correct output
XCCENJBCBUFBIOJOJDREIBGRUKVRQS...

user output
XCCENJBCBUFBIOJOJDREIBGRUKVRQS...

Test 9

Group: 2

Verdict: ACCEPTED

input
100
YEBXYYLVUDYIHNUMRCUTAYVTNLMEZL...

correct output
YDJNBALIRDOVFBKDDJDFNSSMIDMFRM...

user output
YDJNBALIRDOVFBKDDJDFNSSMIDMFRM...

Test 10

Group: 2

Verdict: ACCEPTED

input
100
MVONBCDHJUKRKDGPNYSYGRXBLZOMLD...

correct output
MMSJFIKBSFCUMBBLXJCOUIRAPOKEJS...

user output
MMSJFIKBSFCUMBBLXJCOUIRAPOKEJS...

Test 11

Group: 3

Verdict: ACCEPTED

input
2500
LKEFOYQTRZJHADSYBRGQCUDOPMGYOF...

correct output
LDHPNOFPFOCGKPNCEQKANCJCBLGDKC...

user output
LDHPNOFPFOCGKPNCEQKANCJCBLGDKC...

Test 12

Group: 3

Verdict: ACCEPTED

input
2500
UGPBLFMZGVIANZLHRTPJIHMUZWOXKA...

correct output
UGLSEBMGHSONFJBGOJJAGBJCLFAHAP...

user output
UGLSEBMGHSONFJBGOJJAGBJCLFAHAP...

Test 13

Group: 3

Verdict: ACCEPTED

input
2500
YRUOZBRTLLMMAHNIHQLZHBYCDHTHMS...

correct output
YELLJAAKETHCOWAJNDGJBOFNTCCEDA...

user output
YELLJAAKETHCOWAJNDGJBOFNTCCEDA...

Test 14

Group: 3

Verdict: ACCEPTED

input
2500
RXZEOTVYZBQUOJJFLCJCYCZDONBLUR...

correct output
RTDHUEBGLTKRHKIQLGKILATNHWPIBO...

user output
RTDHUEBGLTKRHKIQLGKILATNHWPIBO...

Test 15

Group: 3

Verdict: ACCEPTED

input
2500
IOTRAMNHKWWBVPQPPWTTBHOYDFXPOX...

correct output
IOTQTIDOBFMJBDNOFEFGGIBGAGQBIC...

user output
IOTQTIDOBFMJBDNOFEFGGIBGAGQBIC...