반응형

분류 전체보기 301

[정올 2467] 비용

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1728&sca=99&sfl=wr_hit&stx=2467 JUNGOL www.jungol.co.kr /* 비용 union find 가장 큰 비용을 가지는 w는, 해당 시작점 s와 끝점 e의 비용을 구할 때만 쓰이고 나머지 경로에서는 안 쓰인다. 즉 가장 큰 비용 w는 Cost(s,e) 딱 한 번에서만 쓰인다. 가장 큰 w가 쓰인다는 것은 Cost가 모든 w의 합이라는 뜻이다. 가장 큰 w를 쓰고 나면, 이제 w는 짤릴 일이 없으므로 w로 연결된 s, e를 하나의 점으로 여길 수 있다. 그렇다면, s,e가 아닌 점 a에 대해 Cost(a,s) == Cost(a,e)가 된다. 즉 각개격파가 되는 것이며 ..

[정올 2261] 경로 찾기

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=2261 JUNGOL www.jungol.co.kr #include //#define DEBUG const int INF = 99999999; int N, K, S, D, s, e; bool visited[1010]; //가장 짧은 해밍 거리를 구해야 하는 것이므로, 한 번 해밍거리 1로 push된 놈을 또 방문하면 안 된다. char arr[1010][32]; struct P { int idx; //마지막 방문지점 int cnt; //방문 히스토리 개수 short* hist; void operator=(const P& from) { idx = from.idx; cnt = from.cnt; for (i..

[정올 2194] 요플레공장

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&code=2194 JUNGOL www.jungol.co.kr #include int C[10010], Y[10010], S, N; unsigned long long cost; int main(void) { //freopen("input.txt", "r", stdin); scanf("%d %d", &N, &S); for (int i = 0; i < N; i++) scanf("%d %d", C + i, Y + i); //S는 리터당 1주일 보관 비용, C는 우유가격, Y는 그 주 필요한 우유 for (int i = 0, j; i < N; i++) { //Y 기준 int mp = 5555, com = 0; for (..

반응형