TEMA

Wrong answer 80% em C++

André Henrique Lima preguntado 3 years ago

Bem, como eu não cheguei nem a entender muito bem o problema, não sei mais o que fazer com esse código. Na verdade o que eu consegui entender foi com base em respostas do tópico principal deste problema. Ele pelo menos gera um saiada igual ao do teste disponibilizado na descrição. Se alguém puder ajudar, agradeço muito.

#include <iostream>
using namespace std;

struct plano
{
    int A;
    int B;
    int C;
    int D;
    int numPlanetasAcima;
    int numPlanetasAbaixo;
};

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int m, n;
    cin >> m >> n;

    plano vetPlanos[501];
    for (int i = 0; i < m; ++i)
    {
        cin >> vetPlanos[i].A >> vetPlanos[i].B >> vetPlanos[i].C >> vetPlanos[i].D;
        vetPlanos[i].numPlanetasAcima= vetPlanos[i].numPlanetasAbaixo= 0;
    }

    int x, y, z;
    for (int i = 0; i < n; ++i)
    {
        cin >> x >> y >> z;
        for (int j = 0; j < m;++j)
        {
            if (vetPlanos[j].A * x + vetPlanos[j].B*y + vetPlanos[j].C*z > vetPlanos[i].D)
                vetPlanos[j].numPlanetasAcima++;
            else
                vetPlanos[j].numPlanetasAbaixo++;
        }

    }

    int maior = 0;
    for (int i = 0; i < m; ++i)
    {
        if (vetPlanos[i].numPlanetasAcima > vetPlanos[i].numPlanetasAbaixo)
        {
            if (vetPlanos[i].numPlanetasAcima > maior)
                maior = vetPlanos[i].numPlanetasAcima;
        }
        else
        {
            if (vetPlanos[i].numPlanetasAbaixo > maior)
                maior = vetPlanos[i].numPlanetasAbaixo;
        }

    }

    cout << maior << '\n';

    return 0;
}

Este tema aún no ha sido contestado. ¡Sé el primero!

Recuerda no enviar soluciones. Tu mensaje puede ser revisado por nuestros moderadores.