3142. 영준이와 신비한 뿔의 숲 (Python 파이썬 풀이)
출처
문제
영준이는 신비한 짐승들이 살고 있는 뿔의 숲을 지나왔다.
이 숲에는 뿔이 한 개 달린 유니콘과 뿔이 두 개 달린 트윈혼이 살고 있다.
영준이는 N개의 뿔과 M마리의 짐승을 보았다.
영준이가 본 유니콘의 수와 트윈혼의 수는 몇 마리일까?
만약 영준이가 5개의 뿔과 3마리의 짐승을 봤다면, 유니콘 1마리와 트윈혼 2마리였을 것이다.
입력
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스마다 첫 번째 줄에 두 정수 n, m (1 ≤ n ≤ 300, m ≤ n ≤ 2m)이 공백으로 구분되어 주어진다.
출력
각 테스트 케이스마다 영준이가 본 유니콘의 수와 트윈혼의 수를 공백으로 구분하여 출력한다.
2 // Test Case의 개수 5 3 // N = 5, M = 3 7 5 |
#1 1 2 #2 3 2 |
문제 해석
어릴 적, 토끼와 닭들의 총 마리수와 다리 개수를 알 때, 토끼와 닭들이 각각 몇마리가 있는지 찾는 문제가 생각나게 하는 문제다.
이 문제에서는 총 마리수가 M이고, 뿔의 개수는 N개이다.
만약 모든 짐승들이 트윈혼이라면 N은 2 X M이 될것이다.
만약 한 마리만 유니콘이고 남은 짐승들이 트윈혼이라면 N은 (2 X M) - 1개 이다.
만약 두 마리를 유니콘이고 남은 짐승들이 트윈혼이라면 N은 (2 X M) - 2개 이다.
이런 식으로, 우리는 N가 M을 알고 있음으로 유니콘 마리 수를 바로 구할 수가 있다. 유니콘의 마리수를 Answer라고 하자.
$ N = (2\times M)-Answer $
그러므로,
$ Answer = (2\times M)-N $
이제 코드로 문제를 풀어보자
문제 풀이
1
2
3
4
|
for Count in range(int(input())):
N,M = map(int,input().split()) # N은 뿔의 개수, M은 마리 수
Answer = 2*M - N # 전부 트윈 혼일때 뿔 개수 - 부족한 뿔 개수 = 유니콘 수
print("#{} {} {}".format(Count+1,Answer,M-Answer))
|
cs |
출처
'SWExpert > D3' 카테고리의 다른 글
[D3] 2005. 파스칼의 삼각형 (0) | 2020.09.07 |
---|---|
1209. [S/W 문제해결 기본] 2일차 - Sum (Python 파이썬 풀이) (0) | 2020.09.04 |
[D3] 1206. [S/W 문제해결 기본] 1일차 - View (Python 파이썬 풀이) (0) | 2020.09.02 |
[D3] 3233. 정삼각형 분할 놀이 (Python 파이썬 풀이) (0) | 2020.08.31 |
[D3] 4371. 항구에 들어오는 배 (Python 파이썬 풀이) (0) | 2020.08.27 |