Cliquez sur le lien résumé complet de solution PAT B -AC
Titre:
La figure est un nouveau semestre scolaire, une école de Shanghai Message: jour de laisser tomber un homme aussi, il faut d' abord supprimer son micro-Bo, décharger son QQ, scellant leur ordinateur, et a pris le téléphone, de fermer son iPad, hors de son wifi, tellement ennuyé, puis, la surface nette, coiffeur, Zhengyi, puis le remords, la lecture, l' exercice, sage, éclairé, sophistiqué. Puis Cheng Kung University aussi!
Cette question vous demande d'écrire un programme pour aider les enseignants des écoles de vérifier les articles pour tous les étudiants pour aider leur Université nationale Cheng Kung.
Format d'entrée:
entrée de la première ligne donne deux nombres entiers positifs N (≤ 1000) et M (≤ 6), respectivement, le nombre d'étudiants et le nombre de sortes d'éléments devant être saisis. La deuxième ligne donne le nombre M doit être confisqué le numéro d'article, dont le nombre est de quatre chiffres. Ensuite N lignes, chaque ligne donne les initiales de l'étudiant (1-4 par les lettres majuscules anglais), le nombre d'objets personnels K (0 ≤ K ≤ 10), et le nombre d'éléments K.
Les formats de sortie:
vérification séquentielle à chaque élève de transporter les marchandises, s'il y a à confisquer des articles, des informations de presse et de la production des informations que les élèves doivent être des articles confisqués dans le format suivant (note la fin de la ligne peut ne pas avoir l'espace supplémentaire) :
姓名缩写: 物品编号1 物品编号2 ……
Le nombre total de problèmes dans la dernière ligne de sortie et le nombre total d'étudiants à confisquer les articles.
entrée de l'échantillon:
4 2
2333 6666
CYLL 3 1234 2345 3456
U 4 9966 6666 8888 6666
GG 2 2333 7777
JJ 3 0012 6666 2333
Exemple de sortie:
U: 6666 6666
GG: 2333
JJ: 6666 2333
3 5
Mon code:
#include<iostream>
#include<cstdio>
#include<vector>
#include<string>
#include<set>
#include<map>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<cstring>
#include<sstream>
using namespace std;
//有的时候题目是一起做的,所以会有不需要的头文件
int main()
{
set<int>Contraband;
int num_stu,num_item;
cin>>num_stu>>num_item;
//记录违禁物品
for(int i=0;i<num_item;i++)
{
int t;
cin>>t;
Contraband.insert(t);
}
//遍历学生
int res_stu=0,res_item=0;
for(int i=0;i<num_stu;i++)
{
string name;
int items;
cin>>name>>items;
int contraband_items[items]={0};
int index=0;
for(int j=0;j<items;j++)
{
int t;
cin>>t;
//如果发现违禁物品,则记录下来
if(Contraband.find(t)!=Contraband.end())
{
contraband_items[index++]=t;
res_item++;
}
}
//如果该学生有违禁物品则输出
if(index)
{
res_stu++;
cout<<name<<":";
for(int j=0;j<index;j++)
{
printf(" %04d",contraband_items[j]);
}
cout<<endl;
}
}
cout<<res_stu<<" "<<res_item;
return 0;
}