Ejemplos seleccionados de entrenamiento de escalera (2)

L1-020 Demasiado guapo para tener amigos

Cuando todos los seres vivos están ocupados publicando fotos en el círculo de amigos, siempre hay algunas personas que no tienen amigos porque son demasiado guapos. Esta pregunta te pide que encuentres a esas personas guapas que no tienen amigos.

Formato de entrada:

Ingrese un número entero positivo N(≤100) en la primera línea de entrada, que es el número de círculos de amigos conocidos; en las Nlíneas subsiguientes, cada línea da primero un número entero positivo K(≤1000), que es el número de personas en el círculo de amigos, y luego enumera a Todos en el círculo de amigos: por conveniencia, cada persona corresponde a un número de identificación, que tiene 5 dígitos (de 00000 a 99999), y las identificaciones están separadas por espacios; después de eso, un número positivo entero M(≤10000) se da para ser consultado El número de personas, la siguiente línea enumera Mlas identificaciones para ser consultadas, separadas por espacios.

Nota: Una persona que no tiene amigos puede ser una persona que no ha instalado "Momentos" en absoluto, o una persona que solo está en Momentos sola. Aunque algunos narcisistas se agregarán repetidamente al círculo de amigos, el título garantiza que hay Kal menos 2 personas diferentes en todos los círculos de amigos con más de 1.

Formato de salida:

Salida esos guapos que no tienen amigos en el orden de entrada. Los ID están separados por 1 espacio y no debe haber espacios adicionales al principio y al final de la línea. Salida si nadie es demasiado guapo No one is handsome.

Nota: Se puede consultar a la misma persona varias veces, pero solo una vez.

Ejemplo de entrada 1:

3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
8
55555 44444 10000 88888 22222 11111 23333 88888

Ejemplo de salida 1:

10000 88888 23333

Ejemplo de entrada 2:

3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
4
55555 44444 22222 11111

Ejemplo de salida 2:

No one is handsome

propenso a errores

Puede ignorar la situación de que solo una persona está en el círculo de amigos, y la condición de restricción de la identificación de 5 dígitos puede ignorarse al generar

el código

#include<iostream>
#include<unordered_set>
#include <iomanip>
using namespace std;
int main() {
    unordered_set<int>rank;
    int n, m;
    int check, sum = 0;
    int num;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> m;
        if(m>=2)
       {
        for (int j = 0; j < m; j++)
        {
            cin >> num;
            rank.emplace(num);
        }
       }
        else
        {
            cin>>num;
        }
    }
    cin >> check;
    for (int i = 0; i < check ; i++)
    {
        cin >> num;
        if (rank.find(num) == rank.end())
        {
            if (sum != 0)cout << " ";
            rank.emplace(num);
            sum++;
             cout << setw(5) << setfill('0') << num;
        }
    }
    if (sum == 0)
        cout << "No one is handsome";
}

 L1-025 entero positivo A+B

El objetivo de la pregunta es muy simple, que es encontrar la suma de dos enteros positivos A, Bdonde Aambas Bsumas están en el intervalo [1,1000]. Ligeramente problemático, no se garantiza que la entrada sea dos números enteros positivos.

Formato de entrada:

ALa entrada da y en una línea B, separados por espacios. El problema es Aque Bla suma no es necesariamente un número entero positivo que cumpla con los requisitos, a veces puede ser un número fuera de rango, un número negativo, un número real con punto decimal o incluso un montón de caracteres confusos.

Nota: Consideramos el primer espacio que aparece en la entrada como la separación de Ay B. El título garantiza al menos un espacio y Bno una cadena vacía.

Formato de salida:

Si la entrada es de hecho dos enteros positivos, A + B = 和se formatea la salida. Si una entrada no cumple con los requisitos, se emite en la posición correspondiente ?, obviamente en este momento y también ?.

Ejemplo de entrada 1:

123 456

Ejemplo de salida 1:

123 + 456 = 579

Ejemplo de entrada 2:

22. 18

Ejemplo de salida 2:

? + 18 = ?

Ejemplo de entrada 3:

-100 blabla bla...33

Ejemplo de salida 3:

? + ? = ?

ideas centrales;

Separe la matriz A y la matriz B, y juzgue si cumplen con los requisitos

el código

#include<iostream>    
#include<iomanip>
#include<string>
using namespace std;
int main()
{
	string ab;
	getline(cin, ab);
	string a, b;
	for (int i = 0; i < ab.length(); i++)
	{
		if (ab[i] == ' ')
		{
			break;
		}
		a = a + ab[i];
	}
	for (int i = a.length()+1; i < ab.length(); i++)
	{
		b =b+ ab[i];
	}
	for (int i = 0; i < a.length(); i++)
	{
		if (!isdigit(a[i]) || stoi(a) <= 0 || stoi(a) > 1000)
		{
			a = "?";
			break;
		}
	}
	for (int i = 0; i < b.length(); i++)
	{
		if (!isdigit(b[i]) || stoi(b) <= 0 || stoi(b) > 1000)
		{
			b = "?";
			break;
		}
	}
	if (a == "?" || b == "?")
	{
		cout << a << " + " << b << " = ?";
	}
	else
		cout << a << " + " << b << " = "<<stoi(a)+stoi(b);
}

L1-030 Pandilla de Uno 

El "grupo de estudio uno a uno" es un método común de organización del aprendizaje en las escuelas primarias y secundarias. Los maestros organizan en un grupo a los estudiantes con alto rendimiento académico y a los estudiantes con bajo rendimiento académico. Para esta pregunta, por favor escriba un programa que ayude al profesor a completar la tarea automáticamente, es decir, después de obtener la clasificación de toda la clase, entre los alumnos que aún no han sido agrupados, divida a los alumnos con la clasificación más alta y los alumnos de el sexo opuesto con el rango más bajo en un grupo Grupo.

Formato de entrada:

Ingrese la primera línea para dar un número par positivo N(≤50), el número de estudiantes en la clase. En la siguiente Nlínea, proporcione el género de cada estudiante (0 para niñas, 1 para niños) y el nombre (una cadena no vacía de no más de 8 letras en inglés) en orden de clasificación de mayor a menor, separados por un espacio. Se garantiza que la proporción de hombres y mujeres en esta clase es de 1:1 y no hay empate en la clasificación.

Formato de salida:

Genere un conjunto de dos nombres de estudiantes por línea, separados por 1 espacio. Los estudiantes con calificaciones más altas están al frente y los estudiantes con calificaciones más bajas están atrás. El orden de salida del grupo se organiza de acuerdo con la clasificación de los alumnos anteriores de mayor a menor.

Muestra de entrada:

8
0 Amy
1 Tom
1 Bill
0 Cindy
0 Maya
1 John
1 Jack
0 Linda

Salida de muestra:

Amy Jack
Tom Linda
Bill Maya
Cindy John

el código

#include<iostream>
#include<iomanip>
#include<vector>
using namespace std;
struct stu {
    int sex;
    string name;
};
int main() 
{
    vector<stu> rank;
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        stu x;
        cin >> x.sex >> x.name;
        rank.emplace_back(x);
    }
    for (int i = 0; i < rank.size(); i++)
    {
        for (int j = rank.size() - 1; j> 0; j--)
        {
            if (rank[i].sex != rank[j].sex)
            {
                cout << rank[i].name << " " << rank[j].name<<endl;
                rank.erase(rank.begin() + j);
                break;
            }

        }
    }

}

 

Supongo que te gusta

Origin blog.csdn.net/m0_63024355/article/details/129885186
Recomendado
Clasificación