반응형

문제

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


처음에 이해하는데 조금 시간이 걸렸다. 일반적으로 이해가 안되는 것도 있었고 문자가 

너무많아서 그랬던거 같다.초기설정은 0층 1호에는 1명 0층 n호에는 n명이라고  한다.

예를 들어 1층 2호라면 0층 1호의 1명과 0층 2호의 두명 합 3명이 1층 2호에 살아야 한다는

 것이다.규칙을 찾아 볼려고도 해봤으나 결국 못찾고 범위가 14*15라서 그냥 배열을 만들

기로 했다..https://leedakyeong.tistory.com/entry/Python-2-dimension-list 배열을 초기화 

방법을 잘못 선택하면 오래걸릴수 있다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import sys
 
 
T=int(input())
#apart=[[0]*14]*15  #이렇게 초기화 하면 안됨
apart=[[0 for _ in range(14)] for _ in range(15)]
 
for i in range(0,15):   #층수
    for j in range(0,14):   #호수
        if i==0:
            apart[i][j]=j+1 #0층일때
        elif j==0:
            apart[i][j]=1   #1호일때
        else:
            apart[i][j]=apart[i-1][j]+apart[i][j-1]
 
while(T>0):
    T-=1
    k=int(sys.stdin.readline())
    n=int(sys.stdin.readline())
    print(apart[k][n-1])

cs


반응형

'알고리즘(python) > 수학' 카테고리의 다른 글

[Python]수학2 백준 1978  (0) 2019.12.20
[Python]수학 백준 1011  (0) 2019.12.20
[Python]수학 백준 10250  (0) 2019.12.19
[Python]수학 백준 2869  (0) 2019.12.19
[Python]수학 백준 1193  (0) 2019.12.19
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기