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

Compiler report

input/code.cpp: In function 'std::vector<char> min_v(std::vector<char>, std::vector<char>)':
input/code.cpp:7:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0; i < a.size(); i++){
                    ^

Code

#include <iostream>
#include <vector>

using namespace std;

vector <char> min_v(vector<char> a, vector<char> b){
  for(int i = 0; i < a.size(); i++){
    if(a[i] > b[i])
      return b;
    else if(a[i] < b[i])
      return a;
  }
  return a;
}

int n;
char table[6250000];
vector<char> fcache[6250000];

vector <char> f(int x, int y){
  if(fcache[x*n + y].size() == 0){
    vector <char> result;
    result.push_back(table[x*n + y]);
    if(x == (n-1) and y == (n-1)){
      // Nothing to do here 
    }else if(x == (n-1)){
      for(char k : f(x, y+1))
        result.push_back(k);
    }else if(y == (n-1)){
      for(char k : f(x+1, y))
        result.push_back(k);
    }else{
      for(char k : min_v(f(x+1, y), f(x, y+1)))
        result.push_back(k);
    }
    fcache[x*n + y] = result;
  }
  return fcache[x*n + y];
}

int main(){

  cin >> n;
  for(int x = 0; x < n; x++){
    for(int y = 0; y < n; y++){
      char c;
      cin >> c;
      table[x*n + y] = c;
    }
  }
  for(char c : f(0, 0))
    cout << c;
  cout << 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:

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)