Submission #305454

# Submission time Handle Problem Language Result Execution time Memory
305454 2020-09-23T08:37:39 Z Nayna Love Polygon (BOI18_polygon) C++14
0 / 100
465 ms 19748 KB
#include <bits/stdc++.h>

using namespace std;

const int mxn = 2e5+5;

typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
typedef pair<int,int>pii;
typedef pair<int,pii>piii;

#define  sf scanf
#define  pf printf

#define  input freopen("in.txt","r",stdin)
#define  output freopen("out.txt","w",stdout)

#define  inf 1e18
#define  ff first
#define  ss second
#define  MP make_pair
#define  pb push_back
#define  all(v) v.begin(), v.end()
#define  printcase(cases) printf("Case %d:", cases);
#define  Unique(a) a.erase(unique(a.begin(),a.end()),a.end())
#define  FAST  ios_base::sync_with_stdio(0);cout.tie(0)
#define  endl printf("\n")
#define  __lcm(a, b) ((a*b)/__gcd(a, b))

map<string,int>mark;
//vector<pii>edge;
int vis[mxn];
int in[mxn];
int cnt = 0;
int dir[mxn];
vector<int>adj[mxn];
void clear_all()
{
    for(int i = 0; i < mxn; i++) adj[i].clear();
    memset(vis, 0, sizeof vis);
}
void dfs(int u)
{
    vis[u] = 1;
    cnt++;
    for(auto v : adj[u])
    {
        if(vis[v]) continue;
        dfs(v);
    }
}
int main()
{
    //input;
   // output;

    int n;
    cin >> n;
    int pos = 1;
    //vector<int>st;
    clear_all();
    for(int i = 0; i < n; i++)
    {
        string a, b;
        cin >> a >> b;

        if(!mark[a]) mark[a] = pos++;
        if(!mark[b]) mark[b] = pos++;

        int u = mark[a];
        int v = mark[b];
        in[v]++;
        dir[u] = v;
        //cout << u << ' ' << v << '\n';
        adj[u].push_back(v);
        //edge.push_back({u, v});
    }
    if(n&1)
    {
        cout << "-1\n";
        return 0;
    }
    int ans = 0;
    for(int i = 1; i <= n; i++)
    {
        if(vis[i]==0)
        {
            cnt = 0;
            dfs(i);
            ans+=(cnt>>1)+(cnt&1);
        }
    }
    cout << ans << '\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 5760 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 5888 KB Output is correct
2 Incorrect 5 ms 5760 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 465 ms 19748 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 5760 KB Output isn't correct
2 Halted 0 ms 0 KB -