zoukankan      html  css  js  c++  java
  • C

    一共有N个学生跟P门课程,一个学生可以任意选一

    门或多门课,问是否达成:

      1.每个学生选的都是不同的课(即不能有两个学生选同一门课)

      2.每门课都有一个代表(P门课都被成功选过)

    输入为:

    P N(课程数跟学生数)

    接着有P,格式为Count studenti studenti+1 ……studentcount

    (Count表示对课程1感兴趣的学生数,接着有Count个学生)

    如第一行2 1 2表示学生1跟学生2对课程1感兴趣

    输出为:

    若能满足上面两个要求这输出”YES”,否则为”NO”

    注意:是课程匹配的学生,学生没课上没事.....
    ********************************************************************
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;

    const int MAXN = 1005;
    const int oo = 1e9;

    bool G[MAXN][MAXN], used[MAXN];
    int p[MAXN], N, M;///n门课,M个学生

    bool Find(int u)
    {
        for(int i=1; i<=M; i++)
        {
            if(G[u][i] && used[i] == false)
            {
                used[i] = true;
                if(p[i] == false || Find(p[i]))
                {
                    p[i] = u;
                    return true;
                }
            }
        }

        return false;
    }

    int main()
    {
        int T;

        scanf("%d", &T);

        while(T--)
        {
            int i, v, Q;

            memset(G, 0sizeof(G));
            memset(p, 0sizeof(p));

            scanf("%d%d", &N, &M);

            for(i=1; i<=N; i++)
            {
                scanf("%d", &Q);

                while(Q--)
                {
                    scanf("%d", &v);
                    G[i][v] = true;
                }
            }

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

            if(i <= N)
                printf("NO ");
            else
                printf("YES ");
        }

        return 0; 

    }

  • 相关阅读:
    [01] 异常的概念和处理
    [03] 节点流和处理流
    [02] 输入/输出流 和 字节/字符流
    [01] File类
    Apache的https协议配置
    Apache的虚拟主机配置
    Apahce的虚拟用户认证及server-status页
    Apache配置日志功能
    Apache脚本路径别名(CGI接口)
    Apache配置站点根目录、用户目录及页面访问属性
  • 原文地址:https://www.cnblogs.com/liuxin13/p/4694111.html
Copyright © 2011-2022 走看看