PAT B -1077 cálculo de la puntuación de evaluación mutua (20 minutos)

Haga clic en el enlace completo Resumen solución PAT B -AC

Título:
Curso de Computación en Zhejiang, a menudo hay grupo cruzada cuenta del informe de este enlace. Una fase de grupos de la introducción de su trabajo, a otros grupos de la audiencia por sus puntuaciones de rendimiento. Este último grupo de puntuación de la evaluación mutua se calcula mediante: la puntuación de todos los demás grupos, la eliminación de un puntos más altos y más bajos, la fracción restante de puntos promediados denomina G 1. ; Profesor puntuaciones del grupo denominan G 2 . Este grupo de puntuación (G . 1 + G 2 ) / 2, el resultado final después se redondean los puntos decimales. Esta pregunta requiere que escribir un programa para maestros de ayuda calculados para cada grupo de resultados de la evaluación por pares.

Formato de entrada:
entrada de la primera línea da dos números enteros positivos N (> 3) y M, respectivamente, y el número de paquetes a cabo, no más de 100. Entonces N filas, cada fila del conjunto se le da un puntaje obtenido por N (número entero dentro del intervalo están garantizados a un entero), el primero de los cuales es un profesor puntuaciones dadas, seguido de los grupos N-1 a la otra puntuación. En caso de ser de entrada válido [, M 0] número entero en el intervalo de, si no en el rango válido, la puntuación se ignorará. profesores de las asignaturas para garantizar que las calificaciones son legítimas, y cada grupo tendrá por lo menos tres de puntuación legítimo de los compañeros de clase.

Formato de salida:
la puntuación final para cada grupo es de salida. Cada puntuación por línea.

de entrada de la muestra:

6 50
42 49 49 35 38 41
36 51 50 28 -1 30
40 36 41 33 47 49
30 250 -25 27 45 31
48 0 0 50 50 1234
43 41 36 29 42 29

Resultado de muestra:

42
33
41
31
37
39

Mi código:

#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()
{
    int N,M;
    scanf("%d %d\n",&N,&M);
    for(int i=0;i<N;i++)
    {
        int s_tea,s_stu=0;
        int n=0;
        int s_min=M+1;
        int s_max=-1;

        cin>>s_tea;
        for(int j=0;j<N-1;j++)
        {
            int t;
            cin>>t;
            if(t>=0&&t<=M)
            {
                s_stu+=t;
                n++;
                if(t>s_max)s_max=t;
                if(t<s_min)s_min=t;
            }
        }
        s_tea=0.5+0.5*s_tea+0.5*(s_stu-s_min-s_max)/(n-2);
        cout<<s_tea<<endl;
    }
    return 0;
}
Publicado 82 artículos originales · ganado elogios 1 · vistas 1658

Supongo que te gusta

Origin blog.csdn.net/qq_34451909/article/details/104984426
Recomendado
Clasificación