본문 바로가기

백준

(497)
[백준 16118번] 달빛 여우 (C++) 문제링크 : https://www.acmicpc.net/problem/16118 16118번: 달빛 여우 첫 줄에 나무 그루터기의 개수와 오솔길의 개수를 의미하는 정수 N, M(2 ≤ N ≤ 4,000, 1 ≤ M ≤ 100,000)이 주어진다. 두 번째 줄부터 M개의 줄에 걸쳐 각 줄에 세 개의 정수 a, b, d(1 ≤ a, b ≤ N, a ≠ b www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int N, M, a, b, d, result = 0; struct info { int cost, node, state; }; struct cmp{ bool operat..
가희와 함께 하는 5회 코딩테스트 A번 (개인기록용) 보호되어 있는 글입니다.
[백준 2910번] 빈도 정렬 (C++) 문제링크 : https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int N, C; map m; map idx; bool comp(const pii& a, const pii& b) { if(a.second == b.second) return idx[a.first] < idx[b.first]; //크기가 같은 경우, 인덱스로 구분 re..
[백준 15942번] 전단지 돌리기 (C++) 문제링크 : https://www.acmicpc.net/problem/19542 19542번: 전단지 돌리기 현민이는 트리 모양의 길 위에서 오토바이를 타고 전단지를 돌리려고 한다. 현민이의 목표는 케니소프트에서 출발하여 모든 노드에 전단지를 돌리고, 다시 케니소프트로 돌아오는 것이다. 현민 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int N, S, D, result = 0; vectorarr[100001]; int depth[100001]; bool check[100001]; int dfs(int n) { check[n]=true; for(int i=0; ..
[백준 14594번] 동방 프로젝트 (Small) (C++) 문제링크 : https://www.acmicpc.net/problem/14594 14594번: 동방 프로젝트 (Small) 첫 번째 행동으로 1번과 2번 방이 합쳐져 (1, 2), (3), (4), (5) 상태가 된다. 이후 두 번째 행동으로 2, 3, 4번 방이 합쳐져 (1, 2, 3, 4), (5)의 상태가 된다. 따라서 남아있는 동방의 수는 2가 된다. www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int N, M; cin >> N; cin >> ..
[백준 1615번] 교차개수세기 (C++) 문제링크 : https://www.acmicpc.net/problem/1615 1615번: 교차개수세기 첫 줄에 N과 간선의 개수 M이 주어진다. 그 다음 줄부터 M+1번째 줄까지 두 개의 수(i, j)가 주어지는데 이는 왼쪽 그룹의 i번 정점과 오른쪽 그룹의 j번 정점을 연결하는 간선이 있다는 의미이다. www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair vector arr[2001]; vector tree; //세그먼트 트리 ll result = 0; ll sum(int start, int end, int left, int right, int node) //star..
[백준 16931번] 겉넓이 구하기 (C++) 문제링크 : https://www.acmicpc.net/problem/16931 16931번: 겉넓이 구하기 크기가 N×M인 종이가 있고, 종이는 1×1크기의 칸으로 나누어져 있다. 이 종이의 각 칸 위에 1×1×1 크기의 정육면체를 놓아 3차원 도형을 만들었다. 종이의 각 칸에 놓인 정육면체의 개수가 주어 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[102][102]; int dx[] = {1, -1, 0, 0}; int dy[] = {0, 0, 1, -1}; int main(void) { ios_base::sync_with_stdio(false..
[백준 15989번] 1, 2, 3 더하기 4 (C++) 문제링크 : https://www.acmicpc.net/problem/15989 15989번: 1, 2, 3 더하기 4 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int dp[100001][4]; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int T; ci..