#include <bits/stdc++.h>
#include "friend.h"
using namespace std;
vector<int> mt,graph[1001],graph2[1001];
int n,k,val[1001],which[1001];
vector<bool> used;
bool try_kuhn(int v) {
assert(v < n);
if (used[v])
return false;
used[v] = true;
for (int to : graph[v]) {
assert(to < k);
if (mt[to] == -1 || try_kuhn(mt[to])) {
mt[to] = v;
return true;
}
}
return false;
}
int findSample(int N , int confidence[] , int host[] , int protocol[]){
which[0] = 0 , val[0] = 0;
n = 1 , k = 0;
for(int i = 1 ; i < N ; i += 1){
if(protocol[i] == 0){
which[i] = 1-which[host[i]];
if(which[i] == 0){
val[i] = n++;
graph[val[i]].push_back(val[host[i]]);
graph2[val[host[i]]].push_back(val[i]);
}else{
val[i] = k++;
graph[val[host[i]]].push_back(val[i]);
graph2[val[i]].push_back(val[host[i]]);
}
}else{
which[i] = which[host[i]];
if(which[i] == 0){
val[i] = n++;
for(auto j : graph[val[host[i]]]){
graph[val[i]].push_back(j);
graph2[j].push_back(val[i]);
}
}else{
val[i] = k++;
for(auto j : graph2[val[host[i]]]){
graph[j].push_back(val[i]);
graph2[val[i]].push_back(j);
}
}
}
}
mt.assign(k, -1);
for (int v = 0; v < n; ++v) {
used.assign(n, false);
try_kuhn(v);
}
int mx = 0;
for(int i = 0 ; i < k ; i += 1){
if(mt[i] != -1){
mx += 1;
}
}
return N-mx;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
332 KB |
Output is correct |
2 |
Correct |
1 ms |
332 KB |
Output is correct |
3 |
Correct |
1 ms |
332 KB |
Output is correct |
4 |
Correct |
1 ms |
332 KB |
Output is correct |
5 |
Correct |
1 ms |
332 KB |
Output is correct |
6 |
Correct |
1 ms |
332 KB |
Output is correct |
7 |
Correct |
1 ms |
332 KB |
Output is correct |
8 |
Correct |
1 ms |
332 KB |
Output is correct |
9 |
Correct |
3 ms |
332 KB |
Output is correct |
10 |
Correct |
1 ms |
332 KB |
Output is correct |
11 |
Correct |
1 ms |
332 KB |
Output is correct |
12 |
Correct |
1 ms |
332 KB |
Output is correct |
13 |
Correct |
1 ms |
332 KB |
Output is correct |
14 |
Correct |
1 ms |
332 KB |
Output is correct |
15 |
Correct |
1 ms |
332 KB |
Output is correct |
16 |
Correct |
1 ms |
348 KB |
Output is correct |
17 |
Correct |
1 ms |
332 KB |
Output is correct |
18 |
Correct |
1 ms |
332 KB |
Output is correct |
19 |
Correct |
1 ms |
332 KB |
Output is correct |
20 |
Correct |
1 ms |
332 KB |
Output is correct |
21 |
Correct |
1 ms |
332 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |