zoukankan      html  css  js  c++  java
  • E

    题意:如果可以交换行列,问主对角线能不能全为1
    分析:要想主对角线全为1很明显要有N个行列不想同的点就行了,可以用二分图匹配计算出来多能有几个。如果小与N就不能。输出要是对的就行,不必和答案一样
    ************************************************************************
    #include<stdio.h>
    #include<algorithm>
    #include<string.h>
    using namespace std;

    const int MAXN = 105;

    int G[MAXN][MAXN], pre[MAXN];
    int used[MAXN], N;

    bool Find(int i)
    {
        for(int j=1; j<=N; j++)
        {
            if(G[i][j] && used[j] == false)
            {
                used[j] = true;
                if(!pre[j] || Find(pre[j]))
                {
                    pre[j] = i;
                    return true;
                }
            }
        }

        return false;
    }

    int main()
    {
        while(scanf("%d", &N) != EOF)
        {
            int i, j, Max=0;

            for(i=1; i<=N; i++)
            for(j=1; j<=N; j++)
                scanf("%d", &G[i][j]);

            memset(pre, 0sizeof(pre));

            for(i=1; i<=N; i++)
            {
                memset(used, falsesizeof(used));
                if( Find(i) == true )
                    Max++;
            }

            if(Max != N)
                printf("-1 ");
            else
            {
                printf("%d ", N);

                for(i=1; i<=N; i++)
                {
                    for(j=i; j<=N; j++)
                    {
                        if(pre[j] == i)
                            break;
                    }
                    pre[j] = pre[i];
                    printf("C %d %d ", i, j);
                }
            }
        } 

    }

  • 相关阅读:
    第一个 Python 程序
    Qt之字体文件(TTF)
    Memcached
    Qt之QtSoap(访问WebService)
    Crypto++编译使用
    Memcached
    Windows下编译OpenSSL
    基于Core Text实现的TXT电子书阅读器
    java代码获取jdbc链接properties
    ext树表+ZeroClipboard复制链接功能
  • 原文地址:https://www.cnblogs.com/liuxin13/p/4695642.html
Copyright © 2011-2022 走看看