문제링크 : https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = INT_MAX; int N, M, arr[9], result[9]; void func(int cnt, int idx) { if(cnt==M) { for(int i=0; i arr[i]; sort(arr, arr+N); //정렬 f..
문제링크 : https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = INT_MAX; int N, M; mapm; vectorvec; bool cmp(pairp1, pairp2) { if(p1.second == p2.second) { ..
문제링크 : https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = INT_MAX; int N, M, arr[9]; vectorv; void func(int cnt, int idx) { if(cnt==M) { for(int i=0; i arr[i]; sort(arr, arr+N); //사전 ..
문제링크 : https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = INT_MAX; int N, M, arr[15001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> M; for(int i=0; i>..
문제링크 : https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = INT_MAX; int N; mapm; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0; i> n; m[n]++; } ll maxV = 0..
문제링크 : https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = INT_MAX; int N, M, arr[2000001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> M; for(int..
문제링크 : https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 2000000001; int N, M, arr[100001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> M; for(int i=0; i..
문제링크 : https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, K, arr[10001], dist[10001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> K; ..
문제링크 : https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; map m; int N, maxV; string S, result; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0;..
문제링크 : https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; string s; vectorv; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> s; for(int i=0; i
문제링크 : https://www.acmicpc.net/problem/11931 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, arr[1000001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0; i> arr[i]; ..
문제링크 : https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int L, N,arr[1001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N >> L; for(int i=0; i> arr[..
문제링크 : https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N; sets; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=0; i> n; s.insert(n); //중복제거 } for(auto i : s) {..
