문제링크 : https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; vectorvec[100001]; bool visited[100001]; int result, target; void dfs(int idx, int dist) { visited[idx] = 1;..
문제링크 : https://www.acmicpc.net/problem/20529 20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N; vectorv; int cal(string s1, string s2, string s3) //3개 문자열 비교 { int result = 0; for(int i=0; i32) return 0; int result = MAX; for(int i=0; i>N; v.resize(N); for(int i..
문제링크 : https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, M; int arr[1001][1001]; int visited[1001][1001]; int dx[] = {1, -1, 0, 0}; int dy[] = {..
문제링크 : https://www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int arr[300003]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int N; cin >> N; for(int i=0; i..
문제링크 : https://www.acmicpc.net/problem/28217 28217번: 두 정삼각형 첫 번째 줄에는 $1$개의 수를, 두 번째 줄에는 $2$개의 수를, $\dots$, $N$번째 줄에는 $N$개의 수를 아래 그림과 같이 배치한 정삼각형 $A$, $B$가 주어진다. 각 위치에 있는 수는 $0$ 또는 $1$이다. 당신은 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, M, result = MAX; int arr1[11][11], arr2[11][11]; void check() { int cnt1 = 0, cnt2= 0; ..
문제링크 : https://www.acmicpc.net/problem/14709 14709번: 여우 사인 첫 번째 예시는 엄지손가락과 중지, 약지와 중지, 엄지손가락과 약지가 서로 닿아 있고 검지와 새끼손가락은 다른 손가락과 닿아 있지 않으므로 여우 사인이라고 할 수 있다. 두 번째 예시는 검 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int N; cin >> N; if(N a >> b; if(a==2 || a==5 || b==2 || b==5) //..
문제링크 : https://www.acmicpc.net/problem/5046 5046번: 전국 대학생 프로그래밍 대회 동아리 연합 첫째 줄에 참가자의 수 1 ≤ N ≤ 200, 예산 1 ≤ B ≤ 500000, 호텔의 수 1 ≤ H ≤ 18, 고를 수 있는 주의 개수 1 ≤ W ≤ 13이 주어진다. 다음 줄부터 각 호텔의 정보가 주어지며, 호텔의 정보는 두 줄로 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int arr[19]; int result = MAX; int main() { ios_base::sync_with_stdio(0); cin.ti..
문제링크 : https://www.acmicpc.net/problem/14569 14569번: 시간표 짜기 연세대학교 수강신청 기간이 시작되었다. 많은 친구들은 비어 있는 시간에 어떤 과목을 추가로 신청할 수 있는지를 궁금해 한다. 이 친구들이 비어 있는 시간에 추가로 신청할 수 있는 과목의 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, M, K, P, ti, qi; vector t; vector q; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; t.resize(N);..
문제링크 : https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; mapm; //map으로 미리 등급에 따른 점수를 저장 int main() { ios_base::sync_with_stdio(0); cin.tie(0); m["A+"] = 4.5; m["A0"] = 4.0; m["B+"..
문제링크 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int N, K; cin >> N >> K; queueq; for(int i=1; i
문제링크 : https://www.acmicpc.net/problem/28138 28138번: 재밌는 나머지 연산 정수 $N$을 $m$으로 나눈 나머지가 $R$이 되도록 하는 모든 양의 정수 $m$의 합을 출력한다. 조건을 만족하는 $m$이 없으면 0을 출력한다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll N, R, result = 0; cin >> N >> R; ll tmp = N-R; for(ll i=1; iR) result+=i; //전반부..
문제링크 : https://www.acmicpc.net/problem/16973 16973번: 직사각형 탈출 크기가 N×M인 격자판에 크기가 H×W인 직사각형이 놓여 있다. 격자판은 크기가 1×1인 칸으로 나누어져 있다. 격자판의 가장 왼쪽 위 칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M)이다. 직사각형의 가장 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, M, H, W, Sr, Sc, Fr, Fc; int arr[1002][1002]; bool visited[1002][1002]; int dx[] = { 1, -1, 0, 0 }..
문제링크 : https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N; int arr[3][3]; bool visited[3][3]; int dx[] = {0, 1}; //이동방향은 오른쪽과 아래뿐 int dy[] = {1, 0}; int bfs() { queueq; q.pu..
문제링크 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int H, W, result = 0; char arr[51][51]; int visited[51][51]; int dx[] = { 0, 0, 1, -1 }; int dy[] = { 1, -1, 0, 0 }; void..
문제링크 : https://www.acmicpc.net/problem/28325 28325번: 호숫가의 개미굴 KOI 호숫가에 여러 개미가 모여 사는 개미굴이 있다. 개미굴은 둥근 호수의 둘레를 따라 $1$부터 $N$까지의 번호가 붙은 $N$개의 방이 차례대로 원형으로 배치되어 있으며, 모든 $i$ ($1 \le i \le N-1$)에 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; ll arr[250002]; ll result = 0; ll cnt = 0; int main() { ios_base::sync_with_stdio(0); cin.tie(0)..