일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 22252
- 백준 티스토리
- DP
- 정보 상인 호석
- 22986
- PS
- linc3.0
- 수들의 합 4
- json
- epsp
- 20303
- 별찍기 -10
- 백준 블로그
- 15681
- ncloud서버
- Django
- 1010번: 다리 놓기 (Python)
- Charfield
- 할로윈의 양아치
- python
- 백준
- ncp배포
- 문제풀이
- lgh
- 삼각형 각도
- max_length
- 20492
- 파이썬
- 고속거듭제곱알고리즘
- 삼각형
- Today
- Total
DolphinDash
[Python] 22986 - Flat Earth 본문
문제
지구는 평평하다. 이를 굳게 믿고 있는 해성이는 지구의 끝으로 가 보려고 한다.
지구는 아래와 같이 칸으로 구분되는 모양을 가지며 크기 $N$을 가진다.
지구의 크기 $N$이 $1$일 때는 정사각형 모양으로 $4$개의 칸이 존재한다. 지구의 크기가 $1$ 커질 때마다 지구의 끝과 인접한 비어있는 공간에 칸이 하나씩 생겨난다.
지구의 크기 $N$이 $i$일 때 지구의 끝은 지구의 크기가 $i$가 되면서 새로 생긴 칸들을 말한다.
$N=1$일 때는 모든 칸이 지구의 끝이다.
위 그림에서 동그라미 친 곳이 $N=1$, $N=2$, $N=3$일 때의 지구의 끝이다.
해성이는 $1$초에 $1$칸씩 움직일 수 있다. 하지만 지구의 크기도 $1$초에 $1$씩 커지기 때문에 이대로는 지구의 끝에 도달할 수 없다는 사실을 깨달은 해성이는 현자인 당신에게 도움을 요청했다.
이를 불쌍히 생각한 당신은 $1$초에 $2$칸씩 움직일 수 있는 자동차를 만들어 줬다. 슬프게도 무한동력 배터리가 아직 구현되지 않은 세상이기 때문에 자동차는 $K$초 동안만 움직일 수 있다.
해성이가 출발할 때의 지구 크기 $N$과 자동차가 움직일 수 있는 시간 $K$가 주어질 때, 지구의 끝에 도달할 수 있는 출발칸의 개수를 계산하자.
입력
다음과 같이 입력이 주어진다.
$T$
$N_1$ $K_1$
$\dots$
$N_T$ $K_T$
첫 줄에 테스트 케이스의 개수 $T$가 주어진다. ($1 \le T \le 1\,000$)
2번째 줄 부터 $T$줄에 걸쳐 한 줄에 테스트 케이스가 하나씩 주어진다.
$N$은 현재 지구의 크기다. ($1 \leq N \leq 10^9$)
$1$초에 $2$칸씩 움직이는 자동차를 $K$초간 사용할 수 있다. ($0 \le K \le 10^9$)
출력
각 테스트 케이스별로 테스트 케이스가 주어진 순서대로 지구의 끝에 도달할 수 있는 칸의 수를 한 줄에 출력하여 총 $T$줄에 걸쳐 출력한다.
해설
머리 깨지는 줄. 맞는데 자꾸 틀렸다고 해서 코드를 계속 줄이고 바꾸고 줄이고 바꾸고... 하다가 겨우 풀었다. 다시 보고 싶지 않은 문제.
소스 코드
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
if k > n:
k = n
result = (k + 1) * (2 * n - k) * 2
print(result)
'PS > Solve' 카테고리의 다른 글
[Python] 2467 - 용액 (0) | 2025.09.17 |
---|---|
[Python] 1925 - 삼각형 (0) | 2025.09.16 |
[Python] 2447 - 별 찍기 - 10 (0) | 2025.09.11 |
[Python] 1476 - 날짜 계산 (0) | 2025.09.09 |
[Python] 1916 - 최소비용 구하기 (0) | 2025.09.02 |