1072 Mensaje al inicio de la escuela (20 puntos) -Punto de datos 2 Causa del error

1072 Mensaje de apertura (20 puntos)

La imagen de abajo es el mensaje de apertura del nuevo semestre de una escuela en Shanghai: Tianjiang será un gran hombre, y primero debe borrar su Weibo, descargar su QQ, bloquear su computadora, apoderarse de su teléfono móvil, tomar su ipad, desconectar su wifi. y hacer que me aburra, luego limpiarme la cara, cortarme el pelo, vestirme, luego pensar, leer, hacer ejercicio, ser sabio, ilustrado y diligente. ¡Entonces se convertirá en una gran arma!

Inserte la descripción de la imagen aquí

Esta pregunta requiere que escriba un programa para ayudar a los maestros de esta escuela a verificar todos los elementos de los estudiantes para ayudarlos a ser excelentes.

Formato de entrada:
Ingrese la primera línea y proporcione dos números enteros positivos N (≤ 1000) y M (≤ 6), que son el número de estudiantes y el número de ítems a verificar. La segunda línea indica el número de elementos M que se deben verificar y el número es de 4 dígitos. En las siguientes N líneas, cada línea proporciona las iniciales del alumno (que constan de 1 a 4 letras mayúsculas en inglés), el número de artículos personales K (0 ≤ K ≤ 10) y el número de K.

Formato de salida:
Verifique secuencialmente los artículos que lleva cada alumno. Si hay artículos que deben incautarse, envíe la información del estudiante y la información de los artículos que deben incautarse en el siguiente formato (tenga en cuenta que no debe haber espacios adicionales al final de la línea): La
姓名缩写: 物品编号1 物品编号2 ……
última línea muestra el número total de estudiantes con problemas y el número total de artículos incautados.

Muestra de entrada:

4 2
2333 6666
CYLL 3 1234 2345 3456
U 4 9966 6666 8888 6666
GG 2 2333 7777
JJ 3 0012 6666 2333

Salida de muestra:

U: 6666 6666
GG: 2333
JJ: 6666 2333
3 5

respuesta

El conjunto conjunto se utiliza para almacenar la lista prohibida.Cuando todos verifican, pueden llamar a la función conjunto conjunto para completar la verificación, y luego hacer un buen trabajo contando el número de personas y el número de bienes.
Vale la pena señalar que la razón de la anomalía del punto de datos 2 es que el código del artículo en el título es un código de 4 dígitos. Si está almacenado en int, si parece que 0012 es un contrabando que debe enviarse, es incorrecto para generar solo 12. Por lo tanto, use printf "%04d"para controlar que la longitud de los datos sea de 4 bits.


Rutina de aire acondicionado

#include<stdlib.h>
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<set>
using namespace std;
int main()
{
    
    
#ifdef ONLINE_JUDGE
#else 
    freopen("in.txt","r",stdin);
#endif
int n,m,i,j,k,x,count1=0,count2=0,mark;
string name;
set<int>st;
cin>>n>>m;
while (m--)
{
    
    
    cin>>x;
    st.insert(x);
}
while(n--)
{
    
    
    cin>>name>>k;mark=0;
    for(i=0;i<k;i++)
    {
    
    
        cin>>x;
        if(st.count(x))
        {
    
    
            count2++;
            if(mark==0){
    
    cout<<name<<":";count1++;}
            mark++;
            printf(" %04d",x);
        }
    }
    if(mark!=0)cout<<endl;
}
cout<<count1<<' '<<count2<<endl;
return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_41962612/article/details/114650803
Recomendado
Clasificación