# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
762117 | raysh07 | 죄수들의 도전 (IOI22_prison) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
//#define int long long
mt19937_64 RNG(chrono::steady_clock::now().time_since_epoch().count());
int[][] devise_strategy(int N)
{
int n = N;
int x = 29;
int s[x][n+1];
for (int i=0; i<x; i++)
{
for (int j=0; j<=n; j++)
{
if (j==0 && i%4==0)
{
s[i][j] = 0;
}
else if (j==0)
{
s[i][j] = 1;
}
else if (i%4==0)
{
int x = i/4;
x = 7-x;
int copy = j;
while (x--)
{
copy/=3;
}
s[i][j] = copy%3;
}
else
{
int x = i/4;
x = 7-x;
int y = i%4 - 1;
int copy = j;
while (x--)
{
copy/=3;
}
int z = copy%3;
if (z==x)
{
s[i][j] = (x+1)*4;
}
else if (z<x)
{
s[i][j] = -2;
}
else
{
s[i][j] = -1;
}
}
}
}
return s;
}
// int32_t main()
// {
// auto begin = std::chrono::high_resolution_clock::now();
// ios_base::sync_with_stdio(0);
// cin.tie(0);
// int t = 1;
// //cin >> t;
// for(int i = 1; i <= t; i++)
// {
// //cout << "Case #" << i << ": ";
// Solve();
// }
// auto end = std::chrono::high_resolution_clock::now();
// auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(end - begin);
// cerr << "Time measured: " << elapsed.count() * 1e-9 << " seconds.\n";
// return 0;
// }