Submission #436721

# Submission time Handle Problem Language Result Execution time Memory
436721 2021-06-24T19:44:35 Z ScarletS Friend (IOI14_friend) C++17
23 / 100
3 ms 336 KB
#include <bits/stdc++.h>
#define ll long long
#define sz(x) (int)(x).size()
using namespace std;
 
const int N = 1005;
int mt[N];
vector<int> e[N], v[2];
bitset<N> done, cmp;
 
void dfs(int c, int x)
{
    v[x].push_back(c);
    mt[c]=-1;
    cmp[c]=1;
    for (int i : e[c])
        if (!cmp[i])
            dfs(i,x^1);
}
 
bool try_kuhn(int c)
{
    if (done[c])
        return 0;
    done[c]=1;
    for (int i : e[c])
        if (mt[i]==-1||try_kuhn(mt[i]))
        {
            mt[i]=c;
            return 1;
        }
    return 0;
}
 
int findSample(int n, int confidence[], int host[], int protocol[])
{
    for (int i=1;i<n;++i)
    {
        if (protocol[i]==0)
        {
            e[i].push_back(host[i]);
            e[host[i]].push_back(i);
        }
        else
        {
            for (int j : e[host[i]])
            {
                e[i].push_back(j);
                e[j].push_back(i);
            }
        }
    }
    int tot=0, cur;
    for (int i=0;i<n;++i)
        if (!cmp[i])
        {
            v[0].clear();
            v[1].clear();
            dfs(i,0);
            for (int j : v[0])
            {
                done.reset();
                try_kuhn(j);
            }
            cur=0;
            for (int j : v[1])
                if (mt[j]!=-1)
                    ++cur;
            tot+=sz(v[0])+sz(v[1])-cur;
        }
    return tot;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 332 KB Output is correct
17 Correct 1 ms 332 KB Output is correct
18 Correct 1 ms 336 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
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -