Submission #852662

#TimeUsernameProblemLanguageResultExecution timeMemory
852662weajinkPrisoner 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] = 13;
        tab[0][j] = 1;
    } 
    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<<"### "<<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{
                tab[i][j] = 1+ktorybit-1+12*bool(j&(1<<ktorybit));
            }
            //cout<<i<<" "<<j<<" # "<<tab[i][j]<<"\n";
        }
        //exit(0);
    }
    return tab;
}

/*int main(){
    vector<vector<int> > strategia = devise_strategy(10);
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...