Liczba krzeseł, które zmieszczą się pod stołem.
Witam, mam problem z zadaniem:
Bajtazar kupuje meble przez Internet. Znalazł już ładny stół i zestaw krzeseł. Teraz zastanawia się, ile krzeseł
może kupić, tak aby wszystkie zmieściły się przy stole.
Stół ma prostokątny blat o wymiarach A × B centymetrów. Z kolei siedzisko krzesła, patrząc z góry, to
kwadrat o wymiarach K × K centymetrów. Dalej będziemy traktować stół jako prostokąt, a krzesła – jako
kwadraty.
Nad jednym z brzegów siedziska (kwadratu) znajduje się oparcie. Każde krzesło należy ustawić oparciem
przy stole, tzn. brzeg z oparciem powinien pokrywać się z pewnym brzegiem stołu. Ponadto siedzisko powinno
w całości znajdować się pod blatem. Oczywiście żadne dwa krzesła nie mogą na siebie nachodzić. W naszych
rozważaniach pomijamy nogi od stołu (możemy założyć, że są nieskończenie cienkie i znajdują się w rogach
blatu). Ile krzeseł zmieści się pod stołem?
Wejście
W jedynym wierszu wejścia znajdują się trzy liczby całkowite A, B i K (1 ≤ A, B, K ≤ 500 000 000) oddzielone
pojedynczymi odstępami, oznaczające, odpowiednio, wymiary blatu stołu oraz wymiar siedziska krzesła.
Wyjście
Twój program powinien wypisać na wyjście maksymalną liczbę krzeseł, które zmieszczą się przy stole.
Napisałem coś takiego:
#include <iostream>
using namespace std;
int main()
{
unsigned int A, B, K;
cin >> A >> B >> K;
if( A < K || B < K )
cout << "0";
if( A < 2 * K || B < 2 * K )
cout <<( A / K * 2 ) +(( B - 2 * K ) / K );
else
cout <<( A / K * 2 ) +(( B - 2 * K ) / K * 2 );
return 0;
}
Program działa, ale nie do końca dobrze, nie przechodzi kilku testów:
1c wiersz 1: wczytano '02147483646', a oczekiwano '0'
1d wiersz 1: wczytano '1431655771', a oczekiwano '3'
3a wiersz 1: wczytano '122713605', a oczekiwano '127'
4a wiersz 1: wczytano '38009446', a oczekiwano '443'
4c wiersz 1: wczytano '736585', a oczekiwano '6'
5b wiersz 1: wczytano '1572', a oczekiwano '3140'
7c wiersz 1: wczytano '08769', a oczekiwano '0'
8d wiersz 1: wczytano '402', a oczekiwano '800'
9a wiersz 1: wczytano '999999999', a oczekiwano '500000000'
9b wiersz 1: wczytano '09', a oczekiwano '0'
10a wiersz 1: wczytano '9', a oczekiwano '1'
Myślę, że trzeba by uwzględnić jeszcze jakiś warunek, bo np. dla danych wejściowych 4 4 4 nie wyświetla prawidłowej odpowiedzi. Mógłby ktoś podpowiedzieć?