zoukankan      html  css  js  c++  java
  • 1191: [HNOI2006]超级英雄Hero

    Time Limit: 10 Sec  Memory Limit: 162 MB
    Submit: 6092  Solved: 2726
    [Submit][Status][Discuss]

    Description

    现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的
    多少获得不同数目的奖品或奖金。主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题
    ,否则就被淘汰。为了增加节目的趣味性并适当降低难度,主持人总提供给选手几个“锦囊妙计”,比如求助现场
    观众,或者去掉若干个错误答案(选择题)等等。这里,我们把规则稍微改变一下。假设主持人总共有m道题,选
    手有n种不同的“锦囊妙计”。主持人规定,每道题都可以从两种“锦囊妙计”中选择一种,而每种“锦囊妙计”
    只能用一次。我们又假设一道题使用了它允许的锦囊妙计后,就一定能正确回答,顺利进入下一题。现在我来到了
    节目现场,可是我实在是太笨了,以至于一道题也不会做,每道题只好借助使用“锦囊妙计”来通过。如果我事先
    就知道了每道题能够使用哪两种“锦囊妙计”,那么你能告诉我怎样选择才能通过最多的题数吗?

    Input

    输入文件的一行是两个正整数n和m(0 < n <1001,0 < m < 1001)表示总共有n中“锦囊妙计”,编号为0~n-1,总共有m个问题。
    以下的m行,每行两个数,分别表示第m个问题可以使用的“锦囊妙计”的编号。
    注意,每种编号的“锦囊妙计”只能使用一次,同一个问题的两个“锦囊妙计”可能一样。

    Output

    第一行为最多能通过的题数p

    Sample Input

    5 6
    3 2
    2 0
    0 3
    0 4
    3 2
    3 2

    Sample Output

    4
     
    二分图匹配,没仔细看题,以为要答完所有的题
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 
     6 int n,m,ans;
     7 int match[2000];
     8 bool map[2000][2000],vis[2000];
     9 
    10 bool find(int x)
    11 {
    12     for(int i=0;i<n;i++)
    13         if(map[x][i]&&!vis[i])
    14         {
    15             vis[i]=true;
    16             if(match[i]==0||find(match[i]))
    17             {
    18                 match[i]=x;
    19                 return true;
    20             }
    21         }
    22     return false;
    23 }
    24 
    25 int main()
    26 {
    27     scanf("%d %d",&n,&m);
    28     for(int i=1;i<=m;i++)
    29     {
    30         int x,y;
    31         scanf("%d %d",&x,&y);
    32         map[i][x]=map[i][y]=1;
    33     }
    34     for(int i=1;i<=m;i++)
    35     {
    36         memset(vis,0,sizeof(vis));
    37         if(find(i)) ans++;
    38         else break;
    39     }
    40     printf("%d
    ",ans);
    41     return 0;
    42 }
  • 相关阅读:
    ActiveSync合作关系对话框的配置
    WINCE对象存储区(object store)
    Wince 隐藏TASKBAR的方法
    Wince输入法换肤换语言机制
    poj 3080 Blue Jeans 解题报告
    codeforces A. Vasily the Bear and Triangle 解题报告
    hdu 1050 Moving Tables 解题报告
    hdu 1113 Word Amalgamation 解题报告
    codeforces A. IQ Test 解题报告
    poj 1007 DNA Sorting 解题报告
  • 原文地址:https://www.cnblogs.com/InWILL/p/9575188.html
Copyright © 2011-2022 走看看