[Programación de pensamiento y la práctica Semana2 experimento B] estallan cero (×) vigorosamente un milagro (√)

Significado de las preguntas:

sistemas de evaluación del trabajo de programación de pensamiento y en tiempo real usados ​​en el experimento, tengan acceso oportuno a la función de la clasificación de rendimiento, que su función es la forma de lograrlo?

Hemos escrito procedimientos y presentadas después del sistema de evaluación o el retorno a la CA, ya sea para devolver varios otros errores, no importa lo mal método, que registrará su tiempo la presentación de sus errores, y cuando finalmente lo experimentado no contada después de la AC, se mostrará este problema en todas las fechas varias veces.

En el largo curso de los años, el número de preguntas que pasan a través de más y más, pero por el tiempo que han pasado un tiempo total de cada pregunta (a partir de la fecha de inicio hasta este momento por título) serán registrados, a medida que cada vez tienen problemas en la escena. En particular, para el tema que pase, que tenga en relación a esta pregunta será presentada cada vez que un recuento de errores cuando una determinada pena de unidad de tiempo, por lo que usted hace en una serie de preguntas, lo que puede llevar a muchos otros, pero en los seres humanos hacen el mismo número de preguntas, puede ser demasiado alto porque la pena en desventaja en la clasificación.

Por ejemplo, un ensayo como un total de ocho preguntas (A, B, C, D, E, F, G, H), cada uno hecho preguntas han de tener una serie de marcadores en número de la pregunta que corresponden a un número negativo indica el título de la estudiante había presentado un número equivocado, pero hasta ahora no hay ningún número de CA, CA positivo indica que el consumo de tiempo, si un número positivo para mantenerse al día con un par de soportes, que tiene un número positivo b, significa que el estudiante de CA a esta pregunta, consume un momento a, b presentada al mismo tiempo tenía el momento equivocado. Ejemplos se pueden ver la sección de muestra de entrada y de salida por debajo.

entrada:

Cuando los datos de entrada comprende una pluralidad de filas, una primera fila son número de título común n (1≤n≤12) y la pena unidad m (10≤m≤20), cada fila de datos después de la descripción de una información del estudiante, primero estudiante nombre de usuario (no más de una cadena de 10 caracteres) seguido todas las preguntas puntuación de estado n, que describe el número de preguntas en un formato que se describe en la etiqueta, como se ha descrito anteriormente.

Entrada sencilla:

8 20
GuGuDong 96 -3 40 (3) 0 0 1 0 -8
HRZ 107 67 -3 0 0 82 0 0
TT 120 (3) 30 10 (1 ) -3 0 47 21 (2) -2
OMRailgun 0 -99 -9999996 -666 -10 086 0 0 -8
yjq 37 -2 (2) -1 13 0113 (2) 79 (1) -1
ZJM 0 0 57 (5) 0 0 99 (3) -7 0

salida:

De acuerdo con el estado de estos alumnos que alcanzaron salida de un rango de tiempo real. la clasificación en tiempo real es, obviamente, la cuestión de hasta qué punto el número de la fila de prensa de CA, más que el anterior, entonces la cantidad de tiempo los puntos de fila, frente pequeña antes de que ocurriera si ambos son iguales, pulse el nombre de la fila lexicográfico, el más pequeño primero . Cada estudiante por línea, imprima el nombre (10 caracteres de ancho), el número de preguntas para hacer (2 caracteres de ancho, alineadas a la derecha) y los puntos de tiempo (cuatro caracteres de ancho, justificado a la derecha). Nombre, título y el número de puntos de tiempo hay un espacio entre uno y otro. Los datos pueden garantizar la salida del formato de salida deseado.

Salida de muestra:

TT 5348
yjq 4342
GuGuDong 3197
HRZ 3256
ZJM 2316
OMRailgun 0 0

ideas:

Los jugadores construyen un tipo de estructura, en la que el número de preguntas con el nombre de salvar una matriz de caracteres, mantenga respectivamente dos ac número entero y ac tiempo total actual del título, una matriz bidimensional de tipo long mucho tiempo y guardar la frecuencia fechas ac . cmp función de escritura para comparar diferentes jugadores para llegar a la clasificación final. Después de introducir el formato, utilizando la función de clasificación () para clasificar la salida por formato.

código:

#include <iostream>
#include <stdio.h>
#include <string>
#include<string.h>
#include <vector>
#include<algorithm>
using namespace std;
struct peo{
	char name[15];
	int numofac,time;
	long long **a;
	int numofques;
	peo(char*thename,int n)
	{
		numofques=n;
		numofac=0;
		time=0;
		strcpy(name,thename);
		a=new long long*[n];
		for(int i=0;i<n;i++)
		{
			a[i]=new long long[2];
		}
	}
	peo(const peo&b)
	{
		strcpy(name,b.name);
		this->numofac=b.numofac;
		this->time=b.time;
		this->numofques=b.numofques;
		a=new long long*[numofques];
		for(int i=0;i<numofques;i++)
		{
			a[i]=new long long[2];
		}
		for(int i=0;i<numofques;i++)
		{
			for(int j=0;j<2;j++)
				a[i][j]=b.a[i][j];
		}
	}
};
bool cmp(peo&a,peo&b)
{
	if(a.numofac!=b.numofac)
	{
		return a.numofac>b.numofac;
	}
	else if(a.time!=b.time)
	{
		return a.time<b.time;
	}
	else
	{
		return strcmp(a.name,b.name)<0;
	}
}
int main(int argc, char** argv) {
	int n,m;
	scanf("%d %d",&n,&m);
	//getchar();
	vector<peo> a;
	char name[10];
	while(scanf("%s",name)!=EOF)
	{
		peo temp(name,n);
		string str;
		for(int i=0;i<n;i++)
		{
			cin>>str;
			if(str[str.size()-1]==')')
			{
				sscanf(str.c_str(),"%lld(%lld)",&temp.a[i][0],&temp.a[i][1]);
				temp.numofac++;
				temp.time+=(temp.a[i][0]+temp.a[i][1]*m);
			}
			else{
				sscanf(str.c_str(),"%lld",&temp.a[i][0]);
				if(temp.a[i][0]>0)
				{
					temp.numofac++;
					temp.time+=temp.a[i][0];
				}
			}
		}
		a.push_back(temp);
		//getchar();
	}
	sort(a.begin(),a.end(),cmp);
	//vector<peo>::iterator it=a.begin();
	//printf("%-10s %2lld %4lld",(*it).name,(*it).numofac,(*it).time);
	for(vector<peo>::iterator it=a.begin();it!=a.end();it++)
	{
		printf("%-10s %2lld %4lld\n",(*it).name,(*it).numofac,(*it).time);
	}
	return 0;
}
Publicado 25 artículos originales · ganado elogios 8 · visitas 546

Supongo que te gusta

Origin blog.csdn.net/weixin_44034698/article/details/104635042
Recomendado
Clasificación