• 【算法笔记】B1058 选择题


    思路:

      重点在于验证答案时括号的吸收,验证答案只要对比正确选项的数量就可以了。题目不算太难,就是数据有点多。。

    code:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 struct ti{
     4     int tihao;
     5     int fen;
     6     int xuan;
     7     int Tnum;
     8     bool zhengquedaan[127]={0};
     9     int cuo=0;
    10 }Data[101];
    11 bool cmp(ti A,ti B){
    12     return A.cuo!=B.cuo?  A.cuo>B.cuo : A.tihao<B.tihao;
    13 }
    14 int main(){
    15     int N,M;
    16     scanf("%d %d",&N,&M);
    17     for(int i=0;i<M;i++){
    18         scanf("%d",&Data[i].fen);
    19         scanf("%d",&Data[i].xuan);
    20         scanf("%d",&Data[i].Tnum);
    21         for(int j=0;j<Data[i].Tnum;j++){
    22             char c;
    23             scanf(" %c",&c);
    24             int a=c;
    25             Data[i].zhengquedaan[a]=true;
    26         }
    27         Data[i].tihao=i+1;
    28     }
    29     for(int i=0;i<N;i++){                                       
    30         int fenshu=0;
    31         for(int k=0;k<M;k++){                                   
    32             int num;
    33             char c;
    34             int zhengnum=0;
    35             int flag=true;
    36             scanf(" (%d",&num);
    37             for(int j=0;j<num;j++){                             
    38                 scanf(" %c",&c);
    39                 if(Data[k].zhengquedaan[c]) zhengnum++;
    40                 else flag=false;
    41             }
    42             getchar();                                          
    43             if(zhengnum==Data[k].Tnum&&flag) fenshu+=Data[k].fen;
    44             else Data[k].cuo++;
    45         }
    46         printf("%d
    ",fenshu);
    47     }
    48     sort(Data,Data+M,cmp);
    49     if(Data[0].cuo==0){
    50         printf("Too simple");
    51         return 0;
    52     }
    53     printf("%d",Data[0].cuo);
    54     for(int i=0;i<M;i++){
    55         if(Data[i].cuo!=Data[0].cuo) break;
    56         printf(" %d",Data[i].tihao);
    57     }
    58     return 0;
    59 }
  • 相关阅读:
    codevs 3971 航班
    2015山东信息学夏令营 Day4T3 生产
    2015山东信息学夏令营 Day5T3 路径
    Tyvj 1221 微子危机——战略
    清北学堂模拟赛 求和
    NOIP2012同余方程
    NOIP2009 Hankson的趣味题
    bzoj1441 MIN
    国家集训队论文分类
    贪心 + DFS
  • 原文地址:https://www.cnblogs.com/chunlinn/p/10842469.html
Copyright © 2020-2023  润新知