Python/백준 (BOJ)

[BOJ][B2]iChess - 3602

ㅋㅋ! 2025. 9. 30. 13:00

 

https://www.acmicpc.net/problem/3602

문제 전문은 링크 참조

문제가공

  1. 흑/백 타일 수를 입력받는다.
  2. 체스판 형태로 만들 수 있는 최대 사이즈의 정사각형의 변을 출력하자.

코드작성

  1. 항상 정사각형이 되어야 하므로, 변 a의 제곱이 넓이가 된다.
  2. 흑과 백이 번갈아서 사용되기 때문에, 같은 타일개수 이거나, 많은 쪽이 타일을 한개 더 쓸수있다.
  3. 제일 많이 쓸수있는 타일의 개수를 구하고 루트 값을 구하면 정사각형의 한 변이 나온다.
a,b=map(int,input().split())
a,b = min([a,b]),max([a,b])
all_tiles =a*2
if(a<b): all_tiles+=1
answer= int(all_tiles**0.5)
print('Impossible' if answer ==0 else answer)