Zadanie: Oblicz/ Nierówność Kwadratowa

Kolejne zadanie, które rozwiązałem i pokazuje sposób w który możemy go .. rozwiązać. 🙂
Pochodzi ono z popularnego jak myślę wśród początkujących koderów – SPOJ.
Który zresztą bardzo polecam.  Jak Mateusz powiedział, można się sporo nauczyć, podzielam jego zdanie.

Tak więc o co mi chodzi ? Treść zdania:

1830. Nierówność trójkąta
Kod zadania: KC003

Napisz program, który sprawdza, czy istnieje trójkąt o bokach o podanej długości.
Wejście

Na wejście programu podana zostanie pewna liczba zestawów danych. Każdy z zestawów składa się z 3 liczb rozdzielonych spacjami. Poszczególne zestawy zostaną rozdzielone znakiem nowej linii.
Wyjście

Na wyjściu ma się pojawić ciąg binarny, którego i-ty wyraz jest równy 1, jeżeli istnieje trójkąt o długościach boków podanych w i-tym wczytanym z wejścia zestawie. Poszczególne elementy tego ciągu należy rozdzielić znakiem nowej linii.
Przykład

Wejście:

1.2 1.2 1.2
1.5 2.5 3.5
-1.5 6.0 4.5
2 4 8

Wyjście:

1
1
0
0

Wygląda na dość prosty i taki właściwie jest, tylko ja musiałem się nagłowić z rozwiązaniem. Poniżej zamieszczam kod.

#include
using namespace std;

int main(){
while(true){
           
double a,b,c;

    cin >> a >>b >> c;
    if (cin.eof()) break; // Funckcja potrzebna do zakonecznia wprowadzania danych EOF
    if( a+b>c && a+c>b && c+b>a ) // Algorytm - Mozliwosci wyboru
             {
                      cout<<"1\n";
                      }
          else
          {
              cout<<"0\n";
              }
}              
              return 0;   }

Komentarze

Dodaj komentarz