#include "lokahia.h"
#include <bits/stdc++.h>
using namespace std;
#define sz(x) (int) (x).size()
#define all(x) (x).begin(), (x).end()
#define show(x) cerr << #x << " is " << x << endl;
#define show2(x, y) cerr << #x << " is " << x << "," << #y << " is " << y << endl;
typedef long long lint;
typedef pair<lint,lint> ii;
int n;
vector<int> adj[205];
int vis[205];
mt19937 rng(time(NULL));
void dfs(int u){
if(vis[u]) return;
vis[u] = 1;
for(int v : adj[u]){
dfs(v);
}
}
int go(int a){
fill(vis,vis+n,0);
dfs(a);
int cnt = 0;
for(int i = 0;i < n;i++) cnt += vis[i];
return cnt;
}
void rem(int x, vector<int> &stuff){
for(int i = 0;i < sz(stuff);i++){
if(stuff[i] == x){
swap(stuff[i], stuff.back());
stuff.pop_back();
break;
}
}
}
int FindBase(int N){
n = N;
int qrylimit = 600;
int total = 10000000;
vector<int> stuff;
for(int i = 0;i < n;i++){
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
stuff.push_back(i);
if(i >= n/2) stuff.push_back(i);
if(i >= n/2) stuff.push_back(i);
}
while(qrylimit > 0 and total > 0){
int a = stuff[rng()%sz(stuff)];
int b = stuff[rng()%sz(stuff)];
total--;
if(a == b) continue;
int x = CollectRelics(a,b); qrylimit--;
if(x != -1){
adj[x].push_back(a);
adj[x].push_back(b);
stuff.push_back(x);
}
//else rem(a, stuff), rem(b, stuff);
}
for(int i = 0;i < n;i++){
if(go(i) > n/2) return i;
}
return -1;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
620 KB |
Wrong |
2 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
3 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
4 |
Partially correct |
1 ms |
492 KB |
Partially correct : C = 600 |
5 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
6 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
7 |
Partially correct |
1 ms |
768 KB |
Partially correct : C = 600 |
8 |
Partially correct |
2 ms |
640 KB |
Partially correct : C = 600 |
9 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
10 |
Incorrect |
2 ms |
620 KB |
Wrong |
11 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
12 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
13 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
14 |
Incorrect |
2 ms |
620 KB |
Wrong |
15 |
Incorrect |
1 ms |
620 KB |
Wrong |
16 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
17 |
Incorrect |
1 ms |
620 KB |
Wrong |
18 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
19 |
Incorrect |
2 ms |
620 KB |
Wrong |
20 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
21 |
Correct |
332 ms |
620 KB |
Correct : C = 0 |
22 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
23 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
24 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
25 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
26 |
Incorrect |
1 ms |
620 KB |
Wrong |
27 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |