Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- struct rena{
- int idade;
- double peso;
- double altura;
- string nome;
- }typedef Rena;
- int main()
- {
- int testes,totRenas,qtdRenasPuxaraoTreno,numCasoTeste=1;
- vector<Rena>vetorRenas;
- vector<Rena>vetorRenasPuxaraoTreno;
- int cont;
- scanf("%d",&testes);
- while(testes--){
- scanf("%d %d",&totRenas,&qtdRenasPuxaraoTreno);
- Rena rena;
- for(int i=0;i<totRenas;i++){
- cin>>rena.nome>>rena.peso>>rena.idade>>rena.altura;
- vetorRenas.push_back(rena);
- }
- //ordena tudo pelo peso
- sort(vetorRenas.begin(),vetorRenas.end(), [](const Rena &x, const Rena &y){
- return (x.peso > y.peso);
- });
- for(int i=0;i<qtdRenasPuxaraoTreno;i++){
- vetorRenasPuxaraoTreno.push_back(vetorRenas[i]);
- }
- // daqui pra baixo trabalho somente com as renas que puxarão o treno
- cont = 0;
- for(int i=0;i<vetorRenasPuxaraoTreno.size()-1;i++){
- if(vetorRenasPuxaraoTreno[i].peso==vetorRenasPuxaraoTreno[i+1].peso){
- cont++;
- }
- }
- if(cont >= 2){
- //ordena as que irao pela idade
- sort(vetorRenasPuxaraoTreno.begin(),vetorRenasPuxaraoTreno.end(), [](const Rena &x, const Rena &y){
- return (x.idade < y.idade);
- });
- }
- cont=0;
- for(int i=0;i<vetorRenasPuxaraoTreno.size()-1;i++){
- if(vetorRenasPuxaraoTreno[i].idade==vetorRenasPuxaraoTreno[i+1].idade){
- cont++;
- }
- }
- if(cont >= 2){
- //ordena as que vao pela altura
- sort(vetorRenasPuxaraoTreno.begin(),vetorRenasPuxaraoTreno.end(), [](const Rena &x, const Rena &y){
- return (x.altura < y.altura);
- });
- }
- cont= 0;
- for(int i=0;i<vetorRenasPuxaraoTreno.size()-1;i++){
- if(vetorRenasPuxaraoTreno[i].altura==vetorRenasPuxaraoTreno[i+1].altura){
- cont++;
- }
- }
- if(cont >= 2){
- // ordena as que vao pelo nome
- sort(vetorRenasPuxaraoTreno.begin(),vetorRenasPuxaraoTreno.end(), [](const Rena &x, const Rena &y){
- return (x.nome < y.nome);
- });
- }
- printf("CENARIO {%d}\n",numCasoTeste);
- for(int i=0;i<vetorRenasPuxaraoTreno.size();i++){
- cout<<i+1<<" - "<<vetorRenasPuxaraoTreno[i].nome<<'\n';
- }
- numCasoTeste++;
- vetorRenas.clear();
- vetorRenasPuxaraoTreno.clear();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement