Submission #697414

#TimeUsernameProblemLanguageResultExecution timeMemory
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;
}

Compilation message (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...