비슷한 인물
변의 비율 이 동일 하면 두 개의 사각형이 비슷 합니다.
이 두 직사각형을 고려하십시오. 높이가 5 줄, 폭이 11자인 직사각형 :
===========
===========
===========
===========
===========
높이가 10 줄, 폭이 22자인 직사각형 :
======================
======================
======================
======================
======================
======================
======================
======================
======================
======================
측면의 비율이 동일하기 때문에 이러한 모양은 비슷합니다. 공식적으로 ( 는 가장 짧은 쪽이고 는 가장 긴 쪽) :
당신은 또한 할 수 있습니다 :
도전
"주"사각형과 일부 "기타"사각형을 사용하고 "기타"중 "주"와 유사한 인쇄 또는 인쇄하는 프로그램이나 함수를 작성하십시오.
입력
모양과 모양 목록. 각 모양은 사각형의 너비와 높이를 나타내는 0이 아닌 양의 정수로 구성됩니다. 예를 들어,
(4,2), (3,9)
는 4x2와 3x9의 두 사각형을 나타냅니다. 그러나 입력의 정확한 형식은 원할 수 있습니다.
출력
"기본"과 유사한 "기타"모양의 인덱스입니다. 인덱스의 정확한 형식과 순서뿐만 아니라 인덱스가 0 또는 1을 기준으로할지 선택할 수 있습니다.
샘플 프로그램
파이썬에서 :
main = eval(raw_input()) # The main rectangle.
rects = eval(raw_input()) # The list of rectangles.
similar = set()
for i, rect in enumerate(rects):
if max(main)*min(rect) == min(main)*max(rect): # Cross-multiply
# They are similar.
similar.add(i)
print similar
샘플 입력 및 출력
입력:
(1, 2)
[(1, 2), (2, 4)]
산출:
set([0, 1])
입력:
(1, 2)
[(1, 9), (2, 5), (16, 8)]
산출:
set([2])
승리
이것은 코드 골프이므로 가장 짧은 제출이 이깁니다.
노트
- 말할 필요도 없지만 표준 허점은 금지되어 있습니다.
- 유사한 수치를 찾기위한 내장을 사용할 수 없습니다. (존재하는지도 모르겠지만 놀라지 않을 것입니다!)
[(1,2), (2,4), (1,9), (2,5), (16,8)]
에만 허용 [0,1,4]
되고 [1,2,5]
허용되거나 출력 [1,1,0,0,1]
또는 [(1,2), (2,4), (16,8)]
?
[1.0 2.0]
허용 입력 포맷 될?