제출 #855656

#제출 시각아이디문제언어결과실행 시간메모리
855656jamkel죄수들의 도전 (IOI22_prison)C++17
80 / 100
10 ms1168 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; #define st first #define nd second vector<vector<int>> devise_strategy(int N) { int n=N; vector<pair<int,int>>a(23);a={{0,0},{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{1,1},{2,1},{3,1},{4,1},{5,1},{6,1}, {7,1},{8,1},{1,2},{2,2},{3,2},{4,2},{5,2},{6,2},{7,2}}; vector<vector<int>> b(23,vector<int>(n+1)); vector<vector<int>>t(n+1,vector<int>(9)); for(int i=0;i<t.size();i++) { t[i][8]=i; for(int j=8;j>0;j--) { t[i][j-1]=t[i][j]/3; t[i][j]%=3; } } for(int i=0;i<23;i++) { b[i][0]=a[i].st%2; for(int j=1;j<=n;j++) { if(a[i].nd>t[j][a[i].st]) { b[i][j]=b[i][0]*(-1)-1; } if(a[i].nd<t[j][a[i].st]) { b[i][j]=b[i][0]-2; } if(a[i].nd==t[j][a[i].st]) { if(t[j][a[i].st+1]==0) { b[i][j]=a[i].st+1; if(a[i].st+1==8) { b[i][j]=b[i][0]*(-1)-1; } } if(t[j][a[i].st+1]==1) { b[i][j]=a[i].st+8; } if(t[j][a[i].st+1]==2) { b[i][j]=a[i].st+16; if(a[i].st+1==8) { b[i][j]=b[i][0]-2; } } } } } return b; }

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

prison.cpp: In function 'std::vector<std::vector<int> > devise_strategy(int)':
prison.cpp:15:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for(int i=0;i<t.size();i++)
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...