목록백준 (170)
피너클의 it공부방
https://www.acmicpc.net/problem/1325 > n >> m; for (int i = 0; i > a >> b; v[b].push_back(a); } vector ans; int big = 0; 값을 입력받을때 b에 a를 집어넣는다. ans에는 컴퓨터 번호가 들어갈것이다. big은 현재 한번에 가장 많이 해킹할수있는 숫자다. for (int i = 1; i > m; for (int i = 0; i > a >> b; v[b].push_back(a); } vector ans; int big = 0; for (int i = 1; i
https://www.acmicpc.net/problem/13118 13118번: 뉴턴과 사과 첫 번째 줄에 사람들의 위치를 나타내는 네 정수 p1, p2, p3, p4 (−109 ≤ p1 > p1 >> p2 >> p..
https://www.acmicpc.net/problem/15873 15873번: 공백 없는 A+B 자연수 A, B (0 > str; if (st..
https://www.acmicpc.net/problem/17388 17388번: 와글와글 숭고한 첫 번째 줄에 숭실대학교의 참여도, 고려대학교의 참여도, 한양대학교의 참여도를 의미하는 세 자연수 S, K, H가 공백으로 구분되어 주어진다. (0 ≤ S, K, H ≤ 100) 세 대학의 참여도는 모두 다르다. www.acmicpc.net 간단한 구현문제다. #include #include using namespace std; int arr[3]; int sum = 0; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); for (int i = 0; i > arr[i]; sum += arr[i]; } if (sum ..

https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 귀찮은 구현문제다. 하나라도 삐끗하면 지금까지 짠 모든 코드가 물거품이 되는 무서운 문제다. 위처럼 된다. 만약 계속해서 틀린다면 낚시 -> 상어 움직임 -> 상어 끼리 싸우기 순으로 했는지 확인해봐라 나는 상어 움직임 -> 상어 싸움 -> 낚시 순서로 여러번 돌려서 위처럼 되었다. int r, c, m; vector map[201][201]; vector map_chk; cl..
https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 최소 스패닝 트리 문제다. 스패닝 트리를 돌린 뒤 마지막에 더한 cost를 빼줄것이다. int n, m; int parent[100001]; vector edges; 사용할 변수다. parent는 유니온 파인드에 사용할것이고 edges는 입력받을때와 스패닝 트리에서 사용할것이다. int find(int num) { if (parent[num] == num) r..
https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net 최소 스패닝 트리 문제다. int n; int parent[101]; vector v; vector edges; 사용할 변수다. int find(int num) { if (parent[num] == num) return num; else return parent[num] = find(parent[num]); } find함수다. num의 조상을 반환한다. void merge(int u, int v) ..

https://www.acmicpc.net/problem/16566 16566번: 카드 게임 첫째 줄에 세 개의 자연수 N, M, K가 주어진다. (1 ≤ M ≤ N ≤ 4,000,000, 1 ≤ K ≤ min(M, 10,000)) 다음 줄에 카드의 번호를 나타내는 M개의 자연수가 주어진다. 각각의 수들은 1 이상이고 N 이하이며 서로 www.acmicpc.net 이진탐색과 유니온 파인드를 이용한 문제다. 내가 낼 수 있는 카드중에서 민수를 이길수있는 가장 작은 카드를 내면 된다. int n, m, k; int parent[4000001]; vector v; vector ::iterator it; 사용할 변수다. parent는 조상을 담을것이고 it은 이진탐색에 사용할것이다. int find(int nu..

https://www.acmicpc.net/problem/2568 2568번: 전깃줄 - 2 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100,000 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결 www.acmicpc.net lcs문제다. 아래그림을 위에 처럼 만들면 된다. 오른쪽을 보면 1, 4, 6, 7, 10으로 게속해서 증가하는걸 알수있다. 부분수열중 증가하는 부분수열을 찾으면 되는 문제다. int n; vector v; vector lis, back(100001, 0); vector ::iterator it; 사용하는 변수다. v는 입력받을때, lis는 수열을 담을 배열, back은 백트래킹 할때, it은..
https://www.acmicpc.net/problem/25311 25311번: UCPC에서 가장 쉬운 문제 번호는? 대회 참가자는 되도록 일찍 대회의 모든 문제를 한 번씩 읽어 보는 것이 권장됩니다. 이렇게 하면 대회의 전체적인 분위기를 느낄 수 있고, 종종 비교적 쉬운 문제를 빨리 발견해서 속도에서 우 www.acmicpc.net 구현문제다. 그냥 A출력하면 된다. #include #include using namespace std; string s; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> s; cout