#include <bits/stdc++.h>
#include "Alice.h"
using namespace std;
// you may define some global variables, but it does not work if you try to transfer any information from function Alice() to function Bob() through these variables.
// you had better not use the same global variables in function Alice() and in function Bob().
const int N = 4976;
const int CNT = (N - 1)/25;
vector<int> bits[25];
mt19937 rng(1313);
int myrand(int l ,int r)
{
return uniform_int_distribution<int>(l , r)(rng);
}
std::vector<std::pair<int,int>> Alice(){
vector<int> perm;
for(int i = 2 ; i <= N ; i++)
perm.push_back(i);
shuffle(perm.begin() , perm.end() , rng);
for(int i = 0 ; i < 25 ; i++)
{
for(int j = i * CNT ; j < (i + 1) * CNT ; j++)
{
bits[i].push_back(perm[j]);
}
}
long long X = setN(N);
vector<pair<int ,int>> vp;
int b = 0;
for(int i = 0 ; i < 25 ; i++)
{
if((1<<i) & X)
{
b = i;
for(auto j : bits[i])
vp.push_back({1 , j});
}
}
for(int i =0 ; i < 25 ; i++)
{
if((1<<i) & X)
continue;
for(auto j : bits[i])
{
vp.push_back({bits[b][myrand(0 , (int)bits[b].size() - 1)] , j});
}
}
shuffle(vp.begin() , vp.end() , mt19937(chrono::steady_clock::now().time_since_epoch().count()));
return vp;
}
//int main()
//{
// Alice();
//}
#include <bits/stdc++.h>
#include "Bob.h"
using namespace std;
// you may define some global variables, but it does not work if you try to transfer any information from function Alice() to function Bob() through these variables.
// you had better not use the same global variables in function Alice() and in function Bob().
const int N = 4976;
const int CNT = (N - 1)/25;
int label[N + 1];
long long Bob(std::vector<std::pair<int,int>> V){
// add your code here
mt19937 rng(1313);
vector<int> perm;
for(int i = 2 ; i <= N ; i++)
perm.push_back(i);
shuffle(perm.begin() , perm.end() , rng);
for(int i = 0 ; i < 25 ; i++)
{
for(int j = i * CNT ; j < (i + 1) * CNT ; j++)
{
label[perm[j]] = i;
}
}
long long X = 0;
for(auto [a , b] : V)
{
if(a == 1 || b == 1)
{
X|=(1ll<<label[max(a , b)]);
}
}
return X;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1084 KB |
Correct. |
2 |
Incorrect |
2 ms |
1076 KB |
Incorrect answer. |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1084 KB |
Correct. |
2 |
Incorrect |
2 ms |
1076 KB |
Incorrect answer. |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
1084 KB |
Correct. |
2 |
Incorrect |
2 ms |
1076 KB |
Incorrect answer. |
3 |
Halted |
0 ms |
0 KB |
- |