Submission #888139

#TimeUsernameProblemLanguageResultExecution timeMemory
888139abcvuitunggio죄수들의 도전 (IOI22_prison)C++17
60 / 100
10 ms1276 KiB
#include "prison.h"
#include <vector>
using namespace std;
vector <vector <int>> devise_strategy(int n){
    vector <vector <int>> res(26,vector <int> (n+1,0));
    for (int i=1;i<=n;i++)
        res[0][i]=((i>>12)&1)*12+1;
    for (int i=1;i<25;i++){
        int b=(i-1)%12;
        res[i][0]=b&1^1;
        for (int j=1;j<=n;j++)
            if (((j>>(12-b))^(i>12))&1)
                res[i][j]=(i>12?-1-res[i][0]:res[i][0]-2);
            else if (b<11)
                res[i][j]=((j>>(12-b-1))&1)*12+b+2;
            else
                res[i][j]=25;
    }
    for (int i=1;i<=n;i++)
        res[25][i]=(i&1?-2:-1);
    return res;
}

Compilation message (stderr)

prison.cpp: In function 'std::vector<std::vector<int> > devise_strategy(int)':
prison.cpp:10:20: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
   10 |         res[i][0]=b&1^1;
      |                   ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...