[백준/파이썬] 8246번 Stół 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 8246번 Stół
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
원문
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?
해석
대강 해석하자면, 등받이가 있는 의자를 탁자에 최대 몇개 놓을 수 있냐 하는 문제입니다.
- 자세한 문제 및 입출력 예제는 상단의 문제 출처(백준 홈페이지)를 참조해주세요
코드
a,b,k=map(int,input().split())
print((a//k)*(b//k)-max(0,a//k-2)*max(0,b//k-2))
설명
의자에 있는 등받이를 배제하고 생각해서, 총 몇개의 의자 크기의 사각형으로 탁자가 쪼개질 수 있는지 구합니다.
이후 등받이가 있어야 하므로 가쪽이 아닌 곳에 있는 의자의 개수를 빼줍니다.
댓글남기기