전체 글

https://www.acmicpc.net/problem/9763코드import sysinput = sys.stdin.readlineINF = int(1e9)def get_distance(p1, p2): return abs(p1[0]-p2[0])+abs(p1[1]-p2[1])+abs(p1[2]-p2[2])n = int(input())villages = [list(map(int, input().split())) for _ in range(n)]answer = INFfor center in range(n): first = INF second = INF for neighbor in range(n): if center == neighbor: continue ..
https://www.acmicpc.net/problem/11387코드def combat_power(info): attack, power, critical, critical_damage, speed = info result = attack result *= (100 + power) result *= (100*(100 - min(100, critical)) + min(100, critical)*critical_damage) result *= (100 + speed) return resultinfos = [list(map(int, input().split())) for _ in range(4)]now_cri = combat_power(infos[0])..
https://www.acmicpc.net/problem/2790코드import sysinput = sys.stdin.readlinen = int(input())scores = [int(input()) for _ in range(n)]scores.sort(reverse=True)cutline = scores[0]+1answer = 1for i in range(1, n): possible_max_score = scores[i]+n if cutline > possible_max_score: break cutline = max(cutline, scores[i]+i+1) answer += 1print(answer)
https://www.acmicpc.net/problem/14233 코드n = int(input())deadlines = list(map(int, input().split()))deadlines.sort()l, r = 0, int(1e9)while l  조건에 맞는 최댓값을 찾는 문제이기 때문에 매개 변수 탐색(Parametric Search)를 사용하여 풀었다. 위 코드는 다음과 같은 과정으로 진행된다:1. 당연히 마감기한이 짧은 애들부터 먼저 해야 하니까 마감기한을 오름차순 정렬한다.2. K값을 찾기 위해 매개 변수 탐색을 수행한다. `l     - mid는 l과 r의 중간값으로 설정한다. mid는 일을 하는 시간 k에 해당하는 값이라고 생각하면 된다.    - 오름차순으로 정렬된 마감기한들에 대해 ..
https://www.acmicpc.net/problem/11067코드import sysinput = sys.stdin.readlinefor _ in range(int(input())): n = int(input()) cafes = {} for _ in range(n): x, y = map(int, input().split()) if x not in cafes: cafes[x] = [] cafes[x].append(y) prev_y = 0 counted_cafe = [] for x, y_list in sorted(cafes.items()): y_list.sort() if y_list[0] !..
·문제풀이/DP
https://www.acmicpc.net/problem/16400코드n = int(input())def prime_number(n): is_prime = [True]*(n+1) is_prime[0] = False is_prime[1] = False prime = [] for i in range(2, n+1): if is_prime[i]: for j in range(i*2, n+1, i): is_prime[j] = False prime.append(i) return primeprime = prime_number(n)dp = [0]*(n+1)dp[0] = 1for p in prime: for..
딜레이레이
개발새발