CSES - Harjoituskisa 7.1.2018 - Results
Submission details
Task:Ruudukko
Sender:Katajisto
Submission time:2018-01-07 21:04:03 +0200
Language:C++
Status:READY
Result:59
Feedback
groupverdictscore
#1ACCEPTED17
#2ACCEPTED42
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.05 s1details
#4ACCEPTED0.06 s1details
#5ACCEPTED0.06 s1details
#6ACCEPTED0.07 s2details
#7ACCEPTED0.06 s2details
#8ACCEPTED0.07 s2details
#9ACCEPTED0.06 s2details
#10ACCEPTED0.09 s2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Compiler report

input/code.cpp: In function 'void haku(int, int, std::string)':
input/code.cpp:12:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(s.length() > minlen) return;
                ^
input/code.cpp:26:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(s.length() < minlen)
                 ^
input/code.cpp: In function 'int main()':
input/code.cpp:63:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i2 = 0; i2 < s.length(); i2++)
                      ^
input/code.cpp:50:15: warning: iteration 101010u invokes undefined behavior [-Waggressive-loop-optimizations]
   bip[i] = 'a';
               ^
input/code.cpp:48:19: note: containing loop
  for(int i = 0; i <= 101010; i++)
                   ^

Code

#include<bits/stdc++.h>
using namespace std;
char t[2502][2502];
int n;
char bip[101010];
vector<string> poss;
long minlen = 1e9;
void haku(int x, int y, string s)
{
	char ch = t[x][y];
	s.push_back(ch);
	if(s.length() > minlen) return;
//	cout << s << "\n";
	if(bip[s.length()-1] < s[s.length()-2])
	{
		return;
	}
	else
	{
		bip[s.length()] = ch;
	}
//	cout << s << "\n";
	if(x == n && y == n)
	{
		poss.push_back(s);
		if(s.length() < minlen)
		{
			minlen = s.length();
		}
		return;
	}
	if(t[x+1][y] < t[x][y+1])
	{
		haku(x+1,y,s);
	}
	if(t[x][y+1] < t[x+1][y])
	{
		haku(x,y+1,s);
	}
	if(t[x][y+1] == t[x+1][y])
	{
		haku(x,y+1,s);
		haku(x+1,y,s);
	}
}
int main()
{
	for(int i = 0; i <= 101010; i++)
	{
		bip[i] = 'a';
	}
	for(int i = 0; i <= 2501; i++)
	{
		for(int i2 = 0; i2 <= 2501; i2++)
		{
			t[i][i2] = 'a';
		}
	}
	cin >> n;
	for(int i = 1; i <= n; i++)
	{
		string s; cin >> s;
		for(int i2 = 0; i2 < s.length(); i2++)
		{
			t[i][i2+1] = s[i2];
		}
	}
	haku(1, 1, "");
	sort(poss.begin(), poss.end());
	cout << poss[0];
}

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:

input
2500
LKEFOYQTRZJHADSYBRGQCUDOPMGYOF...

correct output
LDHPNOFPFOCGKPNCEQKANCJCBLGDKC...

user output
(empty)

Test 12

Group: 3

Verdict:

input
2500
UGPBLFMZGVIANZLHRTPJIHMUZWOXKA...

correct output
UGLSEBMGHSONFJBGOJJAGBJCLFAHAP...

user output
(empty)

Test 13

Group: 3

Verdict:

input
2500
YRUOZBRTLLMMAHNIHQLZHBYCDHTHMS...

correct output
YELLJAAKETHCOWAJNDGJBOFNTCCEDA...

user output
(empty)

Test 14

Group: 3

Verdict:

input
2500
RXZEOTVYZBQUOJJFLCJCYCZDONBLUR...

correct output
RTDHUEBGLTKRHKIQLGKILATNHWPIBO...

user output
(empty)

Test 15

Group: 3

Verdict:

input
2500
IOTRAMNHKWWBVPQPPWTTBHOYDFXPOX...

correct output
IOTQTIDOBFMJBDNOFEFGGIBGAGQBIC...

user output
(empty)