zoukankan      html  css  js  c++  java
  • codevs 1106 篝火晚会

    不要问我为什么WA这么多次。。。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define maxv 100050
    #define inf 1000000007
    using namespace std;
    int n,a,b,aft[maxv][3],deg[maxv],stack[maxv],top=0,regis[maxv],mx=0;
    int cnt[maxv*2],ans=inf;
    bool vis[maxv];
    bool check(int x,int cnt,int fath)
    {
        if (x==1)
        {
            if (cnt==n+1) return true;
            else if (cnt!=1) return false;
        }
        stack[cnt]=x;
        for (int i=1;i<=2;i++)
        {
            if ((!vis[aft[x][i]]) && (aft[x][i]!=fath))
            {
                vis[aft[x][i]]=true;
                return check(aft[x][i],cnt+1,x);
            }
        }
        return false;
    }
    int main()
    {
        memset(deg,0,sizeof(deg));
        scanf("%d",&n);
        for (int i=1;i<=n;i++)
        {
            scanf("%d%d",&a,&b);
            deg[a]++;deg[b]++;aft[i][1]=a;aft[i][2]=b;
        }
        for (int i=1;i<=n;i++)
        {
            if (deg[i]!=2)
            {
                printf("-1
    ");
                return 0;
            }
        }
        if (!check(1,1,1)) {printf("-1
    ");return 0;}
        mx=0;memset(cnt,0,sizeof(cnt));
        for (int i=1;i<=n;i++)
        {
            int r=i-stack[i];
            if (r>=0) cnt[r]++;
            else cnt[n+r]++;
        }
        for (int i=0;i<=n;i++) mx=max(mx,cnt[i]);
        ans=min(ans,n-mx);
        for (int i=n;i>=1;i--)
            regis[n-i+1]=stack[i];
        mx=0;memset(cnt,0,sizeof(cnt));
        for (int i=1;i<=n;i++)
        {
            int r=i-regis[i];
            if (r>=0) cnt[r]++;
            else cnt[n+r]++;
        }
        for (int i=0;i<=n;i++) mx=max(mx,cnt[i]);
        ans=min(ans,n-mx);
        printf("%d
    ",ans);
        return 0;
    }
  • 相关阅读:
    node 命令
    nodejs项目搭建
    linux 安装与配置
    GestureDetector
    activity切换效果
    hadoop
    phonegap 自定义插件
    自定义控件-属性自定义
    zxing demo
    select 语句的执行顺序
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/5756585.html
Copyright © 2011-2022 走看看