PAT B -1053 tasa de vacantes de la carcasa (20 puntos)

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

Título:
sin residentes molestar, un método de tasa de vacantes carcasa estadístico se juzga por una variación continua de la electricidad de acuerdo con los hogares. Determina como sigue:

  • Durante el período de observación, si hay más de la mitad de la electricidad día está por debajo de un valor umbral dado E, la carcasa está "vacía";
  • Cuando el período de observación supera un valor umbral dado día D, y en una condición satisfecho, la carcasa es "vacío".

Ahora bien, dada una zona residencial de los datos de consumo de electricidad de la casa, le estadísticas proporciones "vacantes" y la tasa de "vacante", la vivienda que es más de dos estados como porcentaje del total de unidades de vivienda residencial.

Formato de entrada:
entrada de la primera fila se le da un número entero positivo N (≤1000), total de unidades de vivienda residencial; número positivo real a e, el umbral de batería baja; número entero D positivo, el umbral de periodo de observación. Entonces N filas, cada alojamiento de un determinado los datos de consumo de energía en el siguiente formato:

KE 1, E 2 ... E K

​​

Donde K es el número de días de observación, E i es el consumo de i-día.

Formato de salida:
línea de salida proporciones "vacantes" y el valor de porcentaje "vacío" de la relación, con un espacio entre ellos, Reservados 1 lugar decimal.

de entrada de la muestra:

5 0.5 10
6 0.3 0.4 0.5 0.2 0.8 0.6
10 0.0 0.1 0.2 0.3 0.0 0.8 0.6 0.7 0.0 0.5
5 0.4 0.3 0.5 0.1 0.7
11 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
11 2 2 2 1 1 0.1 1 0.1 0.1 0.1 0.1

Resultado de muestra:

40.0% 20.0%

(Muestra explicó: la segunda y tercera familia es "vacante", la primera de cuatro como "vacante", otros usuarios no están vacías.)

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()
{
    double N,e,D;
    cin>>N>>e>>D;
    int num_maybe=0,num_is=0;
    for(int i=0;i<N;i++)
    {
        int K,sum=0;
        cin>>K;
        for(int j=0;j<K;j++)
        {
            double t;
            cin>>t;
            if(t<e)sum++;
        }
        if(sum>K/2&&K>D)num_is++;
        else if(sum>K/2)num_maybe++;
    }
    double res_maybe=100.0*num_maybe/N;
    double res_is=100.0*num_is/N;
    printf("%2.1f%% %2.1f%%",res_maybe,res_is);

    return 0;
}

Publicado 82 artículos originales · ganado elogios 1 · vistas 1682

Supongo que te gusta

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