Submission #852666

#TimeUsernameProblemLanguageResultExecution timeMemory
852666weajinkPrisoner Challenge (IOI22_prison)C++17
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
 
vector<vector<int> > devise_strategy(int N){
    int x = 12;
    //cout<<"Straszny amongier\n";
    vector<vector<int> > tab(2*x+1);
    tab[0].resize(N+1);
    tab[0][0] = 0;
    for (int j = 1; j <= N; j++){
        if (j&(1<<x)) tab[0][j] = 2*x;
        tab[0][j] = x;
        //cout<<0<<" "<<j<<" # "<<tab[0][j]<<"\n";
    } 
    for (int i = 1; i <= 2*x; i++){
        tab[i].resize(N+1);
        int ktorybit = (i-1)%x;
        bool kolorbitu = (i-1)/x;
        if (!(ktorybit%2)) tab[i][0] = 1;
        else tab[i][0] = 0;
        //cout<<i<<" "<<0<<" # "<<tab[i][0]<<"\n";
        //cout<<"### "<<ktorybit<<" "<<kolorbitu<<"\n";
        for (int j = 1; j <= N; j++){
            if (kolorbitu != bool(j&(1<<ktorybit))){
                if (kolorbitu){
                    if (tab[i][0] == 0) tab[i][j] = -2;
                    else tab[i][j] = -1;
                }else{
                    if (tab[i][0] == 0) tab[i][j] = -1;
                    else tab[i][j] = -2;
                }
            }else{
                if (ktorybit == 0) tab[i][j] = -1;
                else tab[i][j] = 1+ktorybit-1+12*bool(j&(1<<(ktorybit-1)));
            }
          //  cout<<i<<" "<<j<<" # "<<tab[i][j]<<"\n";
        }
        //exit(0);
    }
    return tab;
}

/*int main(){
    int N,A,B;
    cin>>N>>A>>B;
    vector<vector<int> > strategia = devise_strategy(N);
    int tablica = 0;
    while (1){
        int ruch = strategia[tablica][0];
        int val = 0;
        if (ruch == 0) val = A;
        else val = B;
        int ruch2 = strategia[tablica][val];
        cout<<tablica<<" "<<ruch<<" "<<val<<" # "<<strategia[tablica][val]<<"\n";
        tablica = strategia[tablica][val];
        if (ruch2 < 0) exit(0);
    }
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...