본문 바로가기

Algorithm/Simulation41

[파이썬] 백준 14890 : 경사로 (골드3) [파이썬] 백준 14890 : 경사로 (골드3) 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 문제 풀이 0. 방향성 생각 1. 경사2 -> 불가능 2. 범위 바깥 -> 불가능 3. 경사로 이미 설치 -> 불가능 4. 경사로 아래 평지 아님 -> 불가능 4개 다 아니면 count 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n,l = map(int,input().split()) arr = [list(map(int,input().split())) for _ in r.. 2023. 8. 16.
[파이썬] 백준 23290 : 마법사 상어와 복제 (골드1) [파이썬] 백준 23290 : 마법사 상어와 복제 (골드1) 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net 문제 풀이 0. 방향성 생각 같은 격자에 같은 방향을 가진 물고기들이 매우 많아질 수 있다. 테스트 케이스를 보면 답이 60만이 넘어가기도 한다. 예를들어 리스트로 사용하면 특정 좌표에만 [1,1,2,3,4,4,4,4,4,4,5,7,7,.........,8] 이런식으로 매우 길어질 수 있다. 이를 간단하게 처리하기 위해 딕셔너리를 사용. 딕셔너리[좌표][물고기 방향] =.. 2023. 8. 11.
[파이썬] 백준 21611 : 마법사 상어와 블리자드 (골드1) [파이썬] 백준 21611 : 마법사 상어와 블리자드 (골드1) 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net 문제 풀이 0. 방향성 생각 1. 입력받기 2. 제거할 인덱스 위치 찾기 3. 나선형 1차로 펴기 4. 블리자드 : 인덱스 제거 5. 스택 터뜨리기 -> 한 사이클에서 합치면서 터뜨리지 말고 여러번 순회해야함 6. 구슬 변화 7. 정답 출력 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n,m = map(int,in.. 2023. 8. 2.
[파이썬] 백준 20056 : 마법사 상어와 파이어볼 (골드4) [파이썬] 백준 20056 : 마법사 상어와 파이어볼 (골드4) 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 문제 풀이 0. 방향성 생각 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n,balls,command = map(int,input().split()) fire = [] for _ in range(balls): y,x,m,s,d = map(int,input().split()) fire.appen.. 2023. 7. 24.