고급 5

DAY5 고급 - 백준 19639번 (C++)

www.acmicpc.net/problem/19639 19639번: 배틀로얄 첫 번째 줄에 X, Y, M (0 ≤ X, Y ≤ 100,000, 2 ≤ M ≤ 100,000)이 주어진다. M은 짝수다. 다음 X개의 줄에는 i번째 사람과 싸웠을 때 잃게 되는 체력이 주어진다. 이 수는 0 이상 M / 2 이하의 정수이다. www.acmicpc.net 시간이 없어 못풀었다... 하지만 문제 읽은후 든 개념은 "고갈되는 체력이 큰 순으로 플레이어를 정렬, 회복이 큰 순으로 아이템을 정렬하여 체력고갈이 큰 플레이어부터 잡는다. 그리고 회복가능한 체력보다 작거나 같은 아이템중 최대회복 아이템을 먹는다 그리고 만약 체력+아이템합

DAY4 고급 - 백준 2505번 (C++)

www.acmicpc.net/problem/2505 2505번: 두 번 뒤집기 첫줄에는 숫자판의 크기를 나타내는 정수 N (5≤N≤10,000)이 주어진다. 그 다음 줄에는 두 개의 구간이 뒤집혀진 놀이판의 상태를 나타내는 숫자들이 하나의 공백을 두고 나타난다. www.acmicpc.net #include #include using namespace std; void reverse(int array[], int left, int right) { if(left < right) { swap(array[left],array[right]); reverse(array,left+1,right-1); } } int main() { int n; int array[10001] = {0}; int temp[10001] =..

DAY2 고급 - 백준 13022번 (C++)

www.acmicpc.net/problem/13022 13022번: 늑대와 올바른 단어 첫째 줄에 단어가 주어진다. 단어는 w, o, l, f로만 이루어져 있으며, 길이는 50을 넘지 않는다. www.acmicpc.net #include using namespace std; int main() { char input = ' '; int count[4] = {0}; while(input != '\n') { cin.get(input); //주기상 처음, w 입력 if(input == 'w') { count[0]++; } //종료 입력 else if(input == '\n') { //주기상 정상종료 if(count[0] == 0) { cout