c++
-
Codeforces Round #464 (Div. 2) - A - Love Triangle코드포스(CodeForce) 2018. 8. 17. 17:44
1. 문제 2. 알고리즘키워드 - 구현 * 문제 이해문제 그대로 풀면 된다.A = B, B = C, C = A 의 값의 가리 키도록 하면 된다.각각의 원소는 인덱스를 뜻하고 인덱스의 값이 된다. * 문제 풀면서 삽질 했던 점처음 인덱스(1) 기준으로 A = B, B = C, C = A 를 찾았던 것이 가장 큰 문제였다.처음 INDEX 가 정답이 아닌 경우에는 INDEX 를 증가하면서 찾았어야 했는데 주화입마에 빠져서 다른 생각을 하지 못했다. 코드 포스의 1번 문제는 대부분 큰 알고리즘을 요구하지 않는다. 문제만 이해하면 대부분 풀수 있는 문제가 대부분이다.A 라는 생각에 갖혀서 다른 생각을 하지 못 하게 되서 2시간을 소비 했다. tekken 붕권 고수님에게 물어보고 싶었지만 뼈저리게 느껴야지만 성장 ..
-
Educational Codeforces Round 39 (Rated for Div. 2) - A. Partition코드포스(CodeForce) 2018. 8. 17. 17:43
1. 문제 2. 알고리즘키워드 - 구현 * 문제 이해N 개의 정수형 데이터가 들어오는데 여기서 두개의 집합으로 만든다.각 집합에 총합을 구한다.A 집합 총합 - B 집합 총합 으로 가장 큰 수가 나오도록 집합을 구성하고 가장 큰 수를 출력하라. * 문제 풀이문제의 제약사항에서 두 집합중 하나는 비어 있을 수 도 있다고 했다.0 을 기준으로 0 보다 작으면 뺄셈 연산을 하여 더한다.-3 이 있다면 -(-3) 은 + 3그 외는 다 더 한다. 3. 코드 123456789101112131415161718192021222324252627282930313233#include #include #include #include #include using namespace std; int main() { int n; ci..
-
Educational Codeforces Round 24 - A. Diplomas and Certificates코드포스(CodeForce) 2018. 8. 17. 17:42
1. 문제 2. 알고리즘키워드 - 구현 * 문제 접근입력 받은 n 에 절반 이상에 학생이 학위를 받아야 한다. halfhalf 에서 학위를 받는 인원은 k 의 비율을 구한다.z 는 w 2 배가 나와야 한다. 문제 제약 사항몫은 전체 학생수 - z -w 3. 코드 123456789101112131415161718#include #include #include #include #include using namespace std; int main() { long long n, k; cin >> n >> k; long long half = n/2; long long w = half/(k+1); long long z = k*w; cout
-
Codeforces Round #469 (Div. 2) - A. Left-handers, Right-handers and Ambidexters코드포스(CodeForce) 2018. 8. 17. 17:41
1. 문제 2. 알고리즘키워드 - 구현 * 어설픈 해석너는 수중 볼링 연습을 하고 있다.그들 자신에 왼쪽 손만 사용하는 사람, 오른 쪽만 사용하는 사람 둘다 사용 할수 있는 ambidexters 가 l 명이 있다.코치는 짝 수 명의 사람으로 팀을 구성하기로 결정 했다.정확히 절반이 왼손을 사용해야 하고 또 절반이 오른손을 사용해야 한다.ambidexters 는 왼손 오른손을 사용할 수 있다.팀을 구성할수 있는 최대의 수를 출력하라. * 문제 풀이제약 사항으로 left, right 중 하나라도 0 이면 팀을 구성할 수 없다.left, right 의 비율을 ambidexter 의 값으로 맞춘다.left, right 의 값중 최소 값이 팀을 구성할 수 있는 가장 큰 단위가 된다.문제에서 2인이 1팀으로 정의되..
-
Codeforces Round #460 (Div. 2) - A. Supermarket코드포스(CodeForce) 2018. 8. 17. 17:40
1. 문제 2. 알고리즘키워드 - 구현 * 문제 이해슈퍼 마켓 마다 킬로그램 별 사과의 가격이 다르다.처음 입력 받는 n 은 슈퍼 마켓의 수, k 는 구매 할 사과의 수k 개의 사과를 구매할 때 가장 저렴한 가격으로 구매하는대 가장 적은 비용을 구해라. * 어려 웠던 점소수점 자리수 출력을 하지 않아 오류가 있었다.cout.precision(8) 을 설정하여 소수점 이하 8자리수 까지 출력 하도록 하였다. 3. 코드 123456789101112131415161718192021222324#include #include // min#include using namespace std; int main() { int n, k; cin >> n >> k; float price = 1000001.f; for (in..
-
Codeforces Round #460 (Div. 2) - B. Perfect Number코드포스(CodeForce) 2018. 8. 17. 17:39
1. 문제 2. 알고리즘키워드 - 구현 * 어설픈 해석자릿수의 합이 정확히 10 인 경우에만 양의 정수를 완전하다고 간주합니다. 양의 정수 k가 주어지면 작업은 k 번째 가장 작은 양의 정수를 구하라. * 문제 풀이19 라는 숫자가 있다면 각 자리수 별로 1 + 9 는 10 이 된다. 문제에서 요구 하는 사항은 자리수에 합이 10이다.1081 또한 1 + 8 + 1 = 10 임으로 perfect number 가 된다.모든 10 이 되는 경우의 수를 dp 배열에 담아 미리 계산 해놓고 실제 n 이 입력되는 경우에 인덱스를 찾도록 했다. 시간복잡도는 생각하지 않고 넉넉히 계산했다. 3. 코드 12345678910111213141516171819202122232425262728293031323334#inclu..
-
Codeforces Round #459 (Div. 2) - A. Eleven코드포스(CodeForce) 2018. 8. 17. 17:38
1. 문제 2. 알고리즘키워드 - 구현 피보나치 수열 확인 하고 풀면됨 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940#include #include // min#include using namespace std; int dp[1005] = { 0, }; bool check(int n) { bool flag = false; for (int i = 0; i n; for (int i = 0; i