본문 바로가기

알고리즘

(6)
백준 boj 21608. 상어초등학교 코드f = open('input.txt', 'r')N = int(f.readline().strip())friends_info = {}for _ in range(N*N): fi = list(map(int, f.readline().strip().split())) friends_info[fi[0]] = fi[1:]# print(friends_info)grid = [[0]*N for _ in range(N)]score = {0:0, 1:1, 2:10, 3:100, 4:1000}ans = 0def calcluate(r,c,s): n_fr, n_vac_s = 0, 0 for dx, dy in ((-1,0),(1,0),(0,1),(0,-1)): ni, nj = r+dx, c+dy if 0 mx_fr..
백준 boj. 17142 연구소 3 [골드 🥇🥇🥇] from collections import dequeimport sysN, M = map(int, sys.stdin.readline().split())grid = []vs = []ans = 1e8for _ in range(N): grid.append(list(map(int, sys.stdin.readline().split())))vs = [(i, j) for i in range(N) for j in range(N) if grid[i][j] == 2]n_empty = len([(i, j) for i in range(N) for j in range(N) if grid[i][j] == 0])def find_mn_dist(accm_virus, v): global ans global n_empty dq =..
백준 boj. 17484 진우의 달 여행 [실버 🥈🥈🥈] boj. XX 벽 부수고 이동하기2 [link] 랑 비슷한 유형의 실수를 했던 문제.boj. 17484 진우의 달 여행 [실버 🥈🥈🥈]f = open("input.txt", "r")N, M = map(int, f.readline().split())grid = []for _ in range(N): grid.append(list(map(int, f.readline().split())))dir = [(-1,-1), (-1,0), (-1,1)]grid = grid + [[0]*M]dp = [[[c]*3 for c in grid[0]]] + [[[int(1e8)]*3 for _ in range(M)] for _ in range(N)]def find_min_cost(pi, pj, di): ## dp[pi]..
boj >> 1931 회의실 배정(c++) 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 31 32 33 34 // 200412 1931.회의실 배정 #include #include #include #define ll long long using namespace std; bool ncompare(const pair &p1, const pair &p2){ if(p1.second == p2.second) return p1.first N; vector V; for(int i=0; i> b >> e; V.push_back(make_pair(b, e)); } sort(V.begin(), V.end(), ncompare); for(int i=0; i= end..
boj >> 2193 이친수 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 #include using namespace std; // 라이의 블로그 DP #2 #define MAX 100 #define LL long long LL dp[MAX][2]={0}; void binary(int N){ if(N> N; binary(N); cout
boj >> 17070 파이프 옮기기1 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include using namespace std; const int MAX = 17; int N; int arr[MAX][MAX]; int dp[MAX][MAX][3];//dp table, 0:가로, 1:세로, 2:대각선 int main(){ scanf("%d", &N); //cin >> N; //1. map 만들어주기. for(int i=0; i