@narbej Twoje wskazówki były bezcenne!!! ... faktycznie kod znaaaacznie ograniczyl swoją objętość i jest wkońcu AC .... tamtą wersję pozostawiam w spokoju bo sam jak na ten kod patrze to mi się odechciewa go analizować jeszcze raz dziekuję
Przechodzi dla każdych moich danych, a i tak jest WA. Ma ktoś jakieś trudne testy?
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int x[5]= {}, y[5]= {}, pier, drug, wspo, a, b;
cin>>x[1]>>y[1]>>x[2]>>y[2];
cin>>x[3]>>y[3]>>x[4]>>y[4];
pier = (x[2]-x[1]) * (y[2]-y[1]);
drug = (x[4]-x[3]) * (y[4]-y[3]);
if ((y[1]<y[2]&&y[2]<y[3]&&y[3]<y[4]) || (y[3]<y[4]&&y[4]<y[1]&&y[1]<y[2])) // prostokaty rozlaczone
b=0;
else
{
sort (y+1, y+5); // gdy prostokaty zlaczone
b = y[3]-y[2];
}
if ((x[1]<x[2]&&x[2]<x[3]&&x[3]<x[4]) || (x[3]<x[4]&&x[4]<x[1]&&x[1]<x[2]))
a=0;
else
{
sort (x+1, x+5);
a = x[3]-x[2];
}
wspo = a*b;
cout << pier+drug-wspo;
return 0;
}
Pozdrawiam
Zgadzam się z tobą, że masz problem, i że ci się (jedynie) wydaje
mnie natomiast wydaje się, że za mało możliwości rozważyłeś, sprawdź twój program z innymi danymi63
Sędzia w tym zadaniu błędnie weryfikuje podesłane kody. Napisałem algorytym i sędzia uznał go jako prawidłowy, a tymczasem sprawdzałem różne przypadki testowe i wiem że mój algorytm zawiera błąd i sędzia go nie wyłapuje.
Czy mam przekleić swój kod ? Autor zadania powienien dodać chyba kilka przypadków testowych.
Dla poniższego zestawu danych:
1 1 5 5 3 1 7 5
prawidłowa odpowiedź powinna wynosić 24 a tymczasem mój algorytm zwraca 16 i sędzia uznaje go jako prawidłowy.
Czy tutaj wkleić mój kod ?
Z kolei inny algorytm wysłany z mojego alternatywnego profilu dla zestawu danych:
1 1 10 10 1 1 15 5
zwraca wynik 81 a powinno być 101 i sędzia również uznaje go jako prawidłowy.
Niestety nie posiadam profilu na ideone. Mogę go jedynie wkleić jako zwykły tekst.
Najprawdopodobniej sędzia nie uwzględnia sytuacji gdy współrzędne x jednego prostokąta częściowo pokrywają się z x drugiego prostokąta a y są takie same (pierwszy przypadek) oraz gdy prostokąty częściowo na siebie nachodzą, ale dolne wierzchołki obu prostokątów są takie same (drugi przypadek) .