본문 바로가기

백준5

[BOJ] 백준 11660 - 구간 합 구하기 5 문제 링크 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net (x1,y1)부터 (x2,y2) (x1 n >> m; for (int i = 1; i a[i][j]; } } for (int i = 1; i = 1) { total[i][j] += total[i][j - 1]; } if (i - 1 >= 1 && j - 1 >= 1) { total[i][j] -= total[i - 1][j - 1]; } } } while (m--) { int x1, y1, x2, y2; cin.. 2021. 8. 11.
[BOJ] 백준 11404 - 플로이드 2021.08.09 - [Algorithm/Theory] - [Algorithm] Floyd-Warshall Algorithm(플로이드-와샬 알고리즘) 문제 링크 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 도시(정점), 버스(간선), 버스의 비용(가중치)를 갖는 그래프에서, 모든 도시(정점) 의 쌍 (A,B)에 대해 A에서 B로 가는데 필요한 최소 비용을 구하는 문제이다. 문제의 제목과 같이 Floyd-Warshall 알고리즘으로 해결 할 수 있었다. 해당 알고리즘은 아래 링크에서 확인할 수 있다. 202.. 2021. 8. 9.
[BOJ] 백준 1865 - 웜홀 문제 링크 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 지점(정점), 도로(무방향 간선), 웜홀(음의 가중치를 갖는 유방향 간선)으로 이루어진 그래프에서 출발을 하였을때보다 시간이 되돌아가 있는 경우(음의 사이클)가 존재하는지 찾는 문제이다. Bellman-Ford 알고리즘으로 해결할 수 있었다. 해당 알고리즘은 아래 링크에서 확인 할 수 있다. 2021.04.06 - [Algorithm/Theory] - [Algorithm] Bellman-Ford Algorithm (벨만-포드 알고리즘) [.. 2021. 4. 6.
[BOJ] 백준 1753 - 최단경로 문제 링크 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 방향 그래프의 한 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 문제이다. 해당 문제는 Dijkstra 알고리즘을 사용하여 풀이했다. Dijkstra 알고리즘에 대한 설명은 아래 링크에서 확인할 수 있다. 2021.04.06 - [Algorithm/Theory] - [Algorithm] Dijkstra Algorithm (다익스트라 알고리즘) [Algorithm] Dijkstra Algorithm (다익스트라 알고리즘).. 2021. 4. 6.
[BOJ] 백준 1222 - 홍준 프로그래밍 대회 문제 링크 1222번: 홍준 프로그래밍 대회 홍준이는 프로그래밍 대회를 개최했다. 이 대회는 사람들이 팀을 이루어서 참가해야 하며, 팀원의 수는 홍준이가 정해준다. 팀원이 홍준이가 정한 값보다 부족하다면, 그 팀은 대회에 참여할 수 www.acmicpc.net 첫째 줄에 학교의 수 N(2 a; divisorCount(a); } long long maxParticipants = 0; for (long long i = 1; i n; for (int i = 0; i > a; divisor[a]++; } long long maxParticipants = 0; for (long long i = 1; i 2021. 4. 1.