문제링크 : https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 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); string S; int sum = 0; cin >> S; sort(S.begin(), S.end(), greate..
문제링크 : https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[101][101]; int N, M, a, b, c; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); cin >> N >> M; for(int i=..
문제링크 : https://www.acmicpc.net/problem/10025 10025번: 게으른 백곰 첫 줄에 정수 N과 K가 들어온다. 둘째 줄부터 N째 줄까지, 공백을 사이에 두고 각 양동이의 얼음의 양을 나타내는 gi와 양동이의 좌표를 나타내는 xi가 주어진다. www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[1000001]; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int N, K, g, x; cin >> N >> K; for(int i=0; i> g >> x; arr..
문제링크 : https://www.acmicpc.net/problem/21736 21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int N, M, cnt = 0; char arr[601][601]; bool visited[601][601]; int dx[] = {1, -1, 0, 0}; int dy[] = {0, 0, 1, -1}; void..
문제링크 : https://www.acmicpc.net/problem/1572 1572번: 중앙값 중앙값이란, 수열을 정렬했고, 그 크기가 N일 때, 1부터 시작해서 (N+1)/2번째 있는 원소가 그 수열의 중앙값이다. 예를 들어, {1, 2, 6, 5, 4, 3}에서는 3이고, {11, 13, 12, 15, 14}에서는 13이다. 오세준은 1 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 65536 #define pii pair int N, K; ll sum_m = 0; int arr[250001]; vectortree(MAX*4); //세그먼트 트리 ll sum(int start, int end, int l..
문제링크 : https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[10001]; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int N; cin >> N; for(int i=0; i> arr[i]; } i..
문제링크 : https://www.acmicpc.net/problem/22351 22351번: 수학은 체육과목 입니다 3 이환이의 선생님이 부른 두 정수 $A$와 $B$를 공백으로 구분하여 출력하라. 만약 가능한 답이 두 가지 이상이라면, 그중 $A$가 가장 작은 것을 출력하라. 이환이는 항상 정확한 답을 쓰기 때문에, 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); string S; cin >> S; bool check = 1; for(int A=1; A
문제링크 : https://www.acmicpc.net/problem/17419 17419번: 비트가 넘쳐흘러 🎶 DJ욱제는 비트에 몸을 맡기는 중이다. 🎶 DJ욱제는 비트에 심취한 나머지, 비트를 비틀어 제껴버리는 문제를 내 버렸다! N자리 이진수 K가 주어진다. K가 0이 아닐 때까지 아래의 연산을 적용 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; string K; cin >> N >> K; int cnt = 0; for(int i=0..
문제링크 : 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..
보호되어 있는 글입니다.
문제링크 : 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..
문제링크 : 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; ..
문제링크 : 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 >> ..
문제링크 : 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..
문제링크 : 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..