【PAT】B1072 开学寄语(20 分)

代码注释应该很清晰
先存下违禁品,放到数组中,未使用map

#include<cstdio>
#include<string.h>
int wupin[10],N,M;
bool isin(int A){                            //判断是否为违禁品
    for(int i=0;i<M;i++){
        if(wupin[i]==A)return true;
    }
    return false;
}
int main(){
    //学生人数和需要被查缴的物品种类数
    int stu=0,get=0;
    scanf("%d %d",&N,&M);
    for(int i=0;i<M;i++)                              //input need 没收的作品
        scanf("%d",&wupin[i]);
    for(int i=0;i<N;i++){
        char name[5];int K,flag=0;
        scanf("%s %d",name,&K);                //输入姓名,物品件数
        for(int j=0;j<K;j++){
            int temp;scanf("%d",&temp);        //input一件物品
            if(isin(temp)){                             //judge是否是违禁品
                if(flag==0){                            //if是第一个,第一个要输出名字冒号
                    if(stu!=0)printf("\n");
                    printf("%s:",name);flag=1;stu++;
                }
                printf(" %04d",temp);get++;
            }
        }
        getchar();
    }
    if(stu!=0) printf("\n");
    printf("%d %d",stu,get);
    return 0;
}

posted @ 2018-08-17 08:46  路明天  阅读(240)  评论(0编辑  收藏  举报