제출 #682930

#제출 시각아이디문제언어결과실행 시간메모리
682930irmuun죄수들의 도전 (IOI22_prison)C++17
0 / 100
1 ms212 KiB
#include<bits/stdc++.h>
#include "prison.h"
using namespace std;
#define ll long long
string bit3(int n){
    n--;
    string s="";
    for(int i=0;i<8;i++){
        s=char((n%3)+48)+s;
        n/=3;
    }
    return s;
}
vector<vector<int> > devise_strategy(int n){
    vector<vector<int> >s(26,vector<int>(n+1,0));
    int cur=2187;
    int add=1;
    for(int i=1;i<=n;i++){
        int x=i-1;
        s[0][i]=x/cur+add;
    }
    string b[n+5];
    for(int i=1;i<=n;i++){
        b[i]=bit3(i);
    }
    for(int i=0;i<=7;i++){
        add+=3;
        for(int j=i*3+1;j<=i*3+3;j++){
            s[j][0]=1-i%2;
            for(int k=1;k<=n;k++){
                int bit=b[k][i]-48;
                int befBit=(j-i*3-1);
                if(bit<befBit){
                    s[j][k]=-(s[j][0]==0?1:2);
                }
                else if(bit>befBit){
                    s[j][k]=-(s[j][0]==0?2:1);
                }
                else{
                    s[j][k]=add+bit;
                }
            }
        }
        cur/=3;
    }
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...