1092 Los mejores pasteles de luna (20 puntos)

1092 Los mejores pasteles de luna (20 puntos)

Los pasteles de luna son uno de los pasteles tradicionales chinos más prestigiosos, desde la dinastía Tang se han desarrollado cientos de variedades.

mk
Si desea comparar los "mejores pasteles de luna deliciosos", inevitablemente causará una tormenta sangrienta en la industria alimentaria ... Aquí usamos números para mostrar las ventas de varios pasteles de luna en todo el país y le pedimos que encuentre al campeón de ventas de Reconocido como el pastel de luna más delicioso.

Formato de entrada: La
entrada primero da dos números enteros positivos N (≤1000) y M (≤100), que son el número de tipos de pasteles de luna (por lo que los tipos de pasteles de luna predeterminados están numerados de 1 a N) y el número de ciudades que participan en el Estadísticas.

En las siguientes M filas, cada fila da N números enteros no negativos (ninguno de los cuales excede 1 millón), donde el i-ésimo entero es el volumen de ventas (bloque) del i-ésimo pastel de luna. Los números están separados por espacios.

Formato de
salida : genere el mayor volumen de ventas en la primera línea y genere el número de tipo del pastel de luna con el mayor volumen de ventas en la segunda línea. Si el campeón no es único, los campeones empatados se distribuirán en orden ascendente. Los números están separados por 1 espacio y no debe haber espacios adicionales al principio y al final de la línea.

Muestra de entrada:

5 3
1001 992 0 233 6
8 0 2018 0 2008
36 18 0 1024 4

Salida de muestra:

2018
3 5

respuesta

El mapa cuenta varias cantidades y max registra el valor máximo. Finalmente, se puede recorrer para generar el caso más grande.


Rutina de aire acondicionado

#include<iostream>
#include <stdio.h>
#include <map>
using namespace std;

int main()
{
    
    
#ifdef ONLINE_JUDGE
#else
    freopen("in.txt","r",stdin);
#endif
    int m,n,i,j,max=0,x;
    map<int,int>mp;
    map<int,int>::iterator it;
    cin>>m>>n;
    for(j=1;j<=m;j++)mp[j]=0;
    for(i=0;i<n;i++)
    {
    
    
        for(j=1;j<=m;j++)
        {
    
    
            cin>>x;
            mp[j]+=x;
            if(mp[j]>max)max=mp[j];
        }
    }
    cout<<max<<endl;int mark=0;
    for(it=mp.begin();it!=mp.end();it++)
    {
    
    
        if(it->second==max)
        {
    
    
            if(mark>0)cout<<' ';
            cout<<it->first;
            mark++;
        }
    }cout<<endl;
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_41962612/article/details/115317191
Recomendado
Clasificación