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: KC003Napisz program, który sprawdza, czy istnieje trójkąt o bokach o podanej długości.
WejścieNa 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ścieNa 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ładWejście:
1.2 1.2 1.2
1.5 2.5 3.5
-1.5 6.0 4.5
2 4 8Wyjś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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include<iostream> 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; } |