Yibentong 1176: ¿Quién ocupó el lugar número k en la prueba de burbujeo (escrito por papá)

 

1176: ¿Quién tomó el lugar k?


Límite de tiempo: 1000 ms Límite de memoria: 65536 KB
Confirmaciones: 21406 Pases: 9157

【Descripción del título】

En un examen, las calificaciones de cada alumno son diferentes. Ahora que conoce el número y la puntuación de cada alumno, busque el número y la calificación del alumno de k.

【Entrar】

Hay dos enteros en la primera línea, que son el número de estudiantes n (1≤n≤100) n (1≤n≤100) ≤n).

Hay nn filas de datos, cada fila incluye un número de estudiante (entero) y una calificación (punto flotante), separados por un espacio en el medio.

【Salida】

Emite el número de estudiante y los resultados del estudiante kkth, separados por espacios. (Nota: utilice% g% g para generar resultados)

【Ejemplo de entrada】

5 3
90788001 67.8
90788002 90.3
90788003 61
90788004 68.4
90788005 73.9

[Salida de muestra]

90788004 68.4

Explicación: Debido a que n (n <= 100) es demasiado pequeño (no se necesita una complejidad de tiempo óptima, lo mejor es fusionar nLogn), el burbujeo más simple (n ^ 2)

#include<bits/stdc++.h>
using namespace std;
struct xs{
	int id;
	double fenshu;
};
xs a[105],tmp;
int n,k;
void printa(){
	for(int i=1;i<=n;i++){
		cout<<a[i].id<<" "<<a[i].fenshu<<endl;
	}
	cout<<endl<<endl;
}
int main(){
  	freopen("test.in","r",stdin);
  	freopen("test.out","w",stdout);
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i].id>>a[i].fenshu;
	}
//	printa();
	//冒泡 
	/*
	i=1	1 2 3 4
		j=1	2 1 3 4
		j=2	2 3 1 4
		j=3	2 3 4 1
	i=2	
		j=1	3 2 4 1
		j=2	3 4 2 1
	i=3
		j=1	4 3 2 1
	*/
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n-i;j++){
			if(a[j].fenshu<a[j+1].fenshu){
				tmp = a[j+1];
				a[j+1] = a[j];
				a[j] = tmp;
                // 可以用 swap(a[j],a[j+1]); 
			}
//			printa();
		}
	}
	cout<<a[k].id<<" "<<a[k].fenshu<<endl;
	return 0;
}

 

Publicado 33 artículos originales · me gusta 0 · visitas 167

Supongo que te gusta

Origin blog.csdn.net/weixin_42790071/article/details/105464170
Recomendado
Clasificación