본문 바로가기

C++

(226)
[BOJ] 1374번 강의실 (C++) https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n; vector v; priority_queue pq; cin >> n; for(int i = 0; i > a >> b >> c; v.push_back({b, c}); } sort(v.begin(),..
[BOJ] 15681번 트리와 쿼리 (C++) https://www.acmicpc.net/problem/15681 15681번: 트리와 쿼리 트리의 정점의 수 N과 루트의 번호 R, 쿼리의 수 Q가 주어진다. (2 ≤ N ≤ 105, 1 ≤ R ≤ N, 1 ≤ Q ≤ 105) 이어 N-1줄에 걸쳐, U V의 형태로 트리에 속한 간선의 정보가 주어진다. (1 ≤ U, V ≤ N, U ≠ V) www.acmicpc.net #include #include #define MAX 100001 using namespace std; int dp[MAX]; vector vec[MAX]; bool visited[MAX]; void dfs(int node, int parent){ visited[node] = true; for(int i = 0; i < vec[node..
[BOJ] 1245번 농장 관리 (C++) https://www.acmicpc.net/problem/1245 1245번: 농장 관리 첫째 줄에 정수 N(1 < N ≤ 100), M(1 < M ≤ 70)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄마다 격자의 높이를 의미하는 M개의 정수가 입력된다. 격자의 높이는 500보다 작거나 같은 음이 아닌 정수 www.acmicpc.net #include using namespace std; int n, m; int arr[100][70]; int visited[100][70]; bool isPeak = true; int dx[8] = { -1, -1, -1, 0, 0, 1, 1, 1 }; int dy[8] = { -1, 0, 1, -1, 1, -1, 0, 1 }; void dfs(int x, int ..
[BOJ] 23793번 두 단계 최단 경로 1 (C++) https://www.acmicpc.net/problem/23793 23793번: 두 단계 최단 경로 1 서준이는 아빠로부터 생일선물로 세계 지도를 받아서 매우 기뻤다. 세계 지도에서 최단 경로를 찾는 프로그램을 개발해서 아빠께 감사의 마음을 전달하려고 한다. 세계 지도는 도시를 정점으 www.acmicpc.net #include #include #include #define INF 2e9 #define MAX 100001 #define MAX_EDGE 200001 using namespace std; int n, m, x, y, z; int d[MAX]; vector v[MAX_EDGE]; void dijkstra(int start){ for(int i = 0; i start_to_next_dis){ ..
[BOJ] 1238번 파티 (C++) https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net #include #include #include #define INF 987654321 #define MAX 1001 #define MAX_EDGE 10001 using namespace std; int n, m, x; int d[MAX]; vector v[MAX_EDGE]; void dijkstra(int start){ for(int i = 1; i > n >> m..
[BOJ] 11779번 최소비용 구하기 2 (C++) https://www.acmicpc.net/problem/11779 11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net #include #include #include #include #define MAX_EDGE 1001 #define MAX 100001 #define INF 987654321 using namespace std; int d[MAX]; int pv[MAX]; vector v[MAX_EDGE]; stack st; void dijkstra(int start){ d[st..
[BOJ] 9694번 무엇을 아느냐가 아니라 누구를 아느냐가 문제다 (C++) https://www.acmicpc.net/problem/9694 9694번: 무엇을 아느냐가 아니라 누구를 아느냐가 문제다 맨위 첫 번째 줄에 T(1 > t; for(int k = 0; k > n >> m; for(int i = 0; i > a >> b >> c; v[a].push_back({c, b}); v[b].push_back({c, a}); } dijkstra(); cout
[BOJ] 5972번 택배 배송 (C++) https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net #include #include #include #define MAX_VERTEX 50001 #define MAX 50001 #define INF 987654321 using namespace std; int n, m; int d[MAX_VERTEX]; vector edge[MAX]; void dijkstra(){ d[1] = 0; priority_queue pq; pq.push({0, 1}); while..