제출 #697414

#제출 시각아이디문제언어결과실행 시간메모리
697414vjudge1Prisoner Challenge (IOI22_prison)C++17
0 / 100
1 ms724 KiB
#include "prison.h" #include <stdio.h> #include <vector> using namespace std; vector<vector<int>> devise_strategy(int N){ vector<vector<int>> res; res.resize(23, vector<int>(5001, 0)); res[0][0] = 0; for(int i=1; i<=21; i++){ if((i-1)%6 < 3) res[i][0] = 1; else res[i][0] = 0; } res[22][0] = 0; for(int j=1; j<=N; j++){ res[0][j] = 1+j/2187; if(j/2187 == 0){ res[1][j] = (j%2187)/729+4; res[2][j] = -2; res[3][j] = -2; } else if(j/2187 == 1){ res[1][j] = -1; res[2][j] = (j%2187)/729+4; res[3][j] = -2; } else if(j/2187 == 2){ res[1][j] = -1; res[2][j] = -1; res[3][j] = (j%2187)/729+4; } if((j%2187)/729 == 0){ res[4][j] = (j%729)/243+7; res[5][j] = -1; res[6][j] = -1; } else if((j%2187)/729 == 1){ res[4][j] = -2; res[5][j] = (j%729)/243+7; res[6][j] = -1; } else if((j%2187)/729 == 2){ res[4][j] = -2; res[5][j] = -2; res[6][j] = (j%729)/243+7; } if((j%729)/243 == 0){ res[7][j] = (j%243)/81+10; res[8][j] = -2; res[9][j] = -2; } else if((j%729)/243 == 1){ res[7][j] = -1; res[8][j] = (j%243)/81+10; res[9][j] = -2; } else if((j%729)/243 == 2){ res[7][j] = -1; res[8][j] = -1; res[9][j] = (j%243)/81+10; } if((j%243)/81 == 0){ res[10][j] = (j%81)/27+13; res[11][j] = -1; res[12][j] = -1; } else if((j%243)/81 == 1){ res[10][j] = -2; res[11][j] = (j%81)/27+13; res[12][j] = -1; } else if((j%243)/81 == 2){ res[10][j] = -2; res[11][j] = -2; res[12][j] = (j%81)/27+13; } if((j%81)/27 == 0){ res[13][j] = (j%27)/9+16; res[14][j] = -2; res[15][j] = -2; } else if((j%81)/27 == 1){ res[13][j] = -1; res[14][j] = (j%27)/9+16; res[15][j] = -2; } else if((j%81)/27 == 2){ res[13][j] = -1; res[14][j] = -1; res[15][j] = (j%27)/9+16; } if((j%27)/9 == 0){ res[16][j] = (j%9)/3+19; res[17][j] = -1; res[18][j] = -1; } else if((j%27)/9 == 1){ res[16][j] = -2; res[17][j] = (j%9)/3+19; res[18][j] = -1; } else if((j%27)/9 == 2){ res[16][j] = -2; res[17][j] = -2; res[18][j] = (j%9)/3+19; } if((j%9)/3 == 0){ if(j%3 == 0){ res[19][j] = -2; } else if(j%3 == 1){ res[19][j] = 22; } else if(j%3 == 2){ res[19][j] = -1; } res[20][j] = -2; res[21][j] = -2; } else if((j%9)/3 == 1){ res[19][j] = -1; if(j%3 == 0){ res[20][j] = -2; } else if(j%3 == 1){ res[20][j] = 22; } else if(j%3 == 2){ res[20][j] = -1; } res[21][j] = -2; } else if((j%9)/3 == 2){ res[19][j] = -1; res[20][j] = -1; if(j%3 == 0){ res[21][j] = -2; } else if(j%3 == 1){ res[21][j] = 22; } else if(j%3 == 2){ res[21][j] = -1; } } if(j%3 == 0) res[22][j] = -1; else if(j%3 == 1) res[22][j] = 22; else if(j%3 == 2) res[22][j] = -2; } for(int i=0; i<=25; i++) printf("%d\n", res[i].size()); /* for(int i=0; i<=22; i++){ for(int j=0; j<=30; j++){ printf("%d ", res[i][j]); } printf("\n"); } */ return res; }

컴파일 시 표준 에러 (stderr) 메시지

prison.cpp: In function 'std::vector<std::vector<int> > devise_strategy(int)':
prison.cpp:151:12: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
  151 |   printf("%d\n", res[i].size());
      |           ~^     ~~~~~~~~~~~~~
      |            |                |
      |            int              std::vector<int>::size_type {aka long unsigned int}
      |           %ld
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...