コード例 #1
0
int main()
{
    int f,i; 
    while(scanf("%d",&nn)!=EOF)
    {
        group=nn; 
        n=2*group; 
        for(i=1;i<=nn;i++)
        {
            for(f=1;f<=nn;f++)
            {
                scanf("%d",&b[i][f]); 
            }
        }

        if(0 == pan())
        {
            printf("NO\n");
            continue;
        }
                
        for(now=1;now<=31;now++)
        {
            chu();        
            for(i=1;i<=nn;i++)
            {
                for(f=i+1;f<=nn;f++)
                {
                    if(i == f)
                    {
                        continue;    
                    } 
                    else if((i%2)==0 && (f%2)==0) 
                    {
                        huo(i,f);
                    }
                    else if((i%2)==1 && (f%2)==1)
                    {
                        yu(i,f); 
                    }
                    else
                    {
                        yihuo(i,f);        
                    } 
                }
            }
            slove();
            if(0 == check())
            {
                printf("NO\n"); 
                break;
            }
        }
        if(32 == now)
        {
            printf("YES\n");
        }
    } 
    return 0;
}
コード例 #2
0
int main()
{
    int i,u,v;
    while(scanf("%d%d",&n,&m),n+m)
    {
        chu();
        for(i=0;i<m;i++)
        {
            scanf("%d%d",&u,&v); 
            u--;
            v--; 
            add(u,v); 
        }
        slove();
        for(i=0;i<n;i++)
        {
            if(1 != belong[i])
            {
                printf("No\n"); 
                break; 
            } 
        } 
        if(n == i)
        {     
            printf("Yes\n"); 
        }
    } 
    return 0;
}
コード例 #3
0
int main()
{
    long long n,k;
    while(scanf("%lld%lld",&n,&k)!=EOF)
    {
        printf("%lld\n",slove(n,k));
    }
    return 0;
}
コード例 #4
0
int bs()
{
    int i,l=-1,r=10100000,mid;
    while(l != r-1)
    {
        mid=(l+r)>>1;
        chu();
        build(mid);
        limit();
        slove();
        if(1 == check())
        {
            r=mid;
        }
        else
        {
            l=mid;
        }
    }
    return r;
}
コード例 #5
0
int main()
{
    int i;
    while(scanf("%d%d%d",&group,&a,&b)!=EOF)
    {
        scanf("%d%d%d%d",&sx[0],&sy[0],&sx[1],&sy[1]);
        dis=abs(sx[1]-sx[0])+abs(sy[1]-sy[0]);
        
        chu();
        
        for(i=0;i<group;i++)
        {
            scanf("%d%d",&x[i],&y[i]);
        }
        
        for(i=0;i<a;i++)
        {
            scanf("%d%d",&hate[i][0],&hate[i][1]);
            hate[i][0]--;
            hate[i][1]--;
        }
        for(i=0;i<b;i++)
        {
            scanf("%d%d",&like[i][0],&like[i][1]);
            like[i][0]--;
            like[i][1]--;
        }

        limit();        
        n=group*2;
        slove();
        if(0 == check())
        {
            printf("-1\n");
            continue;
        }
        printf("%d\n",bs());
    }    
    return 0;
}
コード例 #6
0
ファイル: poj3253FenceRepair.c プロジェクト: durians/durians
int main()
{
    slove();
    return 0;
}
コード例 #7
0
int main(int argc, char *argv[])
{
    slove();
    return 0;
}