제출 #1187617

#제출 시각아이디문제언어결과실행 시간메모리
1187617m5588ohammed죄수들의 도전 (IOI22_prison)C++20
0 / 100
0 ms320 KiB
#include "prison.h"

#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> devise_strategy(int n){
  vector<vector<int>> ans;
  ans.resize(45);
  ans[0].resize(n+1);
  for(int i=1;i<=n;i++) ans[0][i]=41;
  for(int i=1;i<=45;i++){
    int num=i-1;
    ans[i].resize(n+1);
    int Bdigit=num/10,Sdigit=num%10;
    if(Bdigit==4){
      //cout<<i<<endl;
      ans[i][0]=0;
      int a=10000,b=Sdigit;
      while(b--) a/=10;
      for(int val=1;val<=n;val++){
        int digit=(val%a)/(a/10);
        ans[i][val]=min(44,Sdigit*10+digit+1);
      }
    }
    else{
      ans[i][0]=1;
      int a=10000,b=Bdigit;
      while(b--) a/=10;
      for(int val=1;val<=n;val++){
        int digit=(val%a)/(a/10);
        if(digit>Sdigit) ans[i][val]=-1;
        if(digit<Sdigit) ans[i][val]=-2;
        if(digit==Sdigit) ans[i][val]=min(44,40+Bdigit+2);
      }  
    }
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...