Submission #873210

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
8732102023-11-14 16:01:32rainboyShuffle (NOI19_shuffle)C++17
48 / 100
2 ms2652 KiB
#include "shuffle.h"
#include <cstring>
#include <vector>
using namespace std;
const int N = 1000, L = 10; /* L = ceil(log2(N)) */
typedef vector<int> vi;
typedef vector<vi> vvi;
int pp[L], xx[N], idx[N * N], xx_[N];
int uu[N], vv[N];
vi solve(int n, int m, int k, int q, int s) {
vvi iii(m), aaa;
vi aa(n);
if (s == 3) {
int l = 0, p = 1;
while (p < n)
pp[l++] = p, p *= m;
for (int i = 0; i < n; i++) {
int d = i % m, x = d;
for (int h = 1; h < l; h++) {
int d_ = (i / pp[h] + d) % m;
x += d_ * pp[h];
}
idx[xx[i] = x] = i;
}
memset(xx_, 0, n * sizeof *xx_);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

shuffle.cpp: In function 'vi solve(int, int, int, int, int)':
shuffle.cpp:97:36: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
   97 |    int x = (i < n - 2 ? i : 1 << l - 1 ^ i & 1) ^ ((i & 1) == 0 ? 0 : (1 << l) - 2);
      |                                  ~~^~~
shuffle.cpp:97:44: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
   97 |    int x = (i < n - 2 ? i : 1 << l - 1 ^ i & 1) ^ ((i & 1) == 0 ? 0 : (1 << l) - 2);
      |                                          ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...