zoukankan      html  css  js  c++  java
  • hdu 6008 Worried School

    题意:给出G,和一个学校名称X,然后给出6组比赛,前面5个是区域赛学校排名,最后是final排名,我们可以选择让区域赛出线X个名额,finl出线Y个名额,X+Y=G,如果无论X和Y的值,X学校都能出线,输出“ADVAN

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 map<string ,int > a;
     5 
     6 string b[7][22];
     7 int c[7][22];
     8 set<int >se;
     9 
    10 
    11 int main(){
    12     int t;
    13     int k=1;
    14     cin>>t;
    15     while(t--){
    16         int n;
    17         string s;
    18         a.clear();se.clear();
    19         scanf("%d",&n);
    20         cin>>s;
    21         int l=0;
    22         for(int i=1;i<=6;i++){
    23             for(int j=1;j<=20;j++){
    24                 cin>>b[i][j];
    25                 if(a[b[i][j]])
    26                     c[i][j]=a[b[i][j]];
    27                 else {
    28                     a[b[i][j]]=++l;
    29                     c[i][j]=a[b[i][j]];
    30                 }
    31             }
    32         }
    33         int x=a[s];
    34         int tt=0;
    35         for(int i=1;i<=20;i++){
    36             for(int j=1;j<=5;j++){
    37                 if(c[j][i]==x) {
    38                    // cout<<j<<" "<<i<<" "<<se.size()<<endl;
    39                     tt=1;break;
    40                 }
    41                 se.insert(c[j][i]);
    42                 if(se.size()>=n) {
    43                     tt=2;break;
    44                 }
    45             }
    46             if(tt) break;
    47         }
    48         printf("Case #%d: ",k++);
    49         if(tt==2){
    50             printf("0
    ");
    51         }
    52         else if(tt==1){
    53             int y=n-se.size();
    54             for(int i=1;i<=20;i++){
    55                 if(c[6][i]==x) break;
    56                 se.insert(c[6][i]);
    57             }
    58             if(se.size()>=n) cout<<y<<endl;
    59             else cout<<"ADVANCED!"<<endl;
    60         }
    61     }
    62 }

    CED!”,否则输出最小的Y,区域赛出线规矩,每个赛区的第一。。。再每个赛区的第二。。。(一个学校一个名额)

    思路:模拟,我们可以求出最大的X,看Y是否满足

  • 相关阅读:
    CString与 char *之间的转换
    linux命令行打开图片
    CentOS7 NFS配置
    vs2010 Visula C++ 把CString 转换为string 类型
    1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    mount 命令
    Centos7.0 Vmware10.0.3 网络桥接配置
    Notepad++ 连接远程 FTP 进行文件编辑
    安装PHP的mongodb驱动速记
    CentOS上安装MongoDB速记
  • 原文地址:https://www.cnblogs.com/hhxj/p/7525962.html
Copyright © 2011-2022 走看看