문제 이해 단계 https://www.acmicpc.net/problem/22945 22945번: 팀 빌딩 능력치가 다 다른 개발자 $N$명이 팀 빌딩을 위해 한 줄로 서있다. 하나의 팀을 만들기 위해서는 개발자 2명이 반드시 모여야 한다. 개발자 A와 개발자 B가 팀을 만들 때 팀의 능력치는 아래와 같 www.acmicpc.net 능력치가 다 다른 N명이 입력으로 들어온다. 이 중에서 2명을 뽑아서 값을 만들 때, 값을 구하는 공식은 아래와 같다. (A와 B 사이에 존재하는 다른 사람 수)*min(A, B) 이러한 조건일 때 나올 수 있는 값의 최대치를 구하는 문제 문제 접근 단계 문제풀이를 위해 조건부터 살펴보자. 들어올 수 있는 사람 N은 최대 100,000까지 가능하고, 능력치는 10,000까지 ..
문제 이해 단계 https://www.acmicpc.net/problem/6068 6068번: 시간 관리하기 성실한 농부 존은 시간을 효율적으로 관리해야 한다는 걸 깨달았다. 그는 N개의 해야할 일에 (1 N; vector v(N); // 일을 담을 벡터 int avail = 0; for(int i = 0; i > v1 >> v2; v[i] = {v1,v2}; avail = max(avail,v2-v1); // 필요하는 최소 시간이 가장 많은 걸 시작 시간으로 둚 } sort(v.begin(),v.end(),compare); // 정렬 // 0 이상일때까진 반복 while(avail >= 0){ int cnt = avail; // cnt -> 현재 시간 ..
문제 이해 단계 https://www.acmicpc.net/problem/10282 10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 www.acmicpc.net A가 B에 의존하면, B가 감염됐을 때 A도 감염된다. 이를 의존이라고 한다. 입력으로 테스트 케이스 T, 컴퓨터 개수 n, 의존성 관계 개수 d, 해킹당한 컴퓨터의 번호 c가 주어진다. 의존성 관계 정보는 (a, b, s)로 주어지는데 이는 컴퓨터 a가 컴퓨터 b를 의존하고, b가 감염된 후 s초 후 컴퓨터 a도 감염된다는 뜻이다. 해당 조건일 때 출력으로 컴퓨터 수, 마지막 컴퓨터..
문제 이해 단계 https://www.acmicpc.net/problem/1477 1477번: 휴게소 세우기 첫째 줄에 현재 휴게소의 개수 N, 더 지으려고 하는 휴게소의 개수 M, 고속도로의 길이 L이 주어진다. 둘째 줄에 현재 휴게소의 위치가 공백을 사이에 두고 주어진다. www.acmicpc.net 입력으로 가지고 있는 휴게소 N과 만들어야 할 휴게소 M, 고속도로 길이 L이 주어진다. 휴게소를 M개를 더 지어 휴게소 사이의 거리를 최소화하려고 한다. 고속도로 끝과 중복된 곳에 배치하는 것은 금지한다. 휴게소들 사이의 거리가 최소가 되도록 이상적으로 배치했을 때, 그중 구간의 길이가 가장 긴 것을 출력하는 문제 문제 접근 단계 문제가 말을 어렵게 써놔서 이해하는 게 한참 걸렸다. 이 문제의 제한 범..
문제 이해 단계 https://www.acmicpc.net/problem/14267 14267번: 회사 문화 1 영선회사에는 매우 좋은 문화가 있는데, 바로 상사가 직속 부하를 칭찬하면 그 부하가 부하의 직속 부하를 연쇄적으로 칭찬하는 내리 칭찬이 있다. 즉, 상사가 한 직속 부하를 칭찬하면 그 부하 www.acmicpc.net 입력으로 직원수 n과 칭찬의 횟수 m이 주어진다. 그리고 직원은 1번부터 n번까지 번호가 매겨져 있다. 해당 문제에서 칭찬은 상사가 직속 부하를 칭찬하면 그 부하가 부하를, 또 그 부하를 연쇄적으로 칭찬하는 내리 칭찬 형식이다. 칭찬에는 각각의 수치가 존재한다. 두 번째 입력으로는 n개의 직속 상사와 부하관계가 주어진다. 직속 상사의 번호는 항상 자신의 번호보다 작다. 그리고 3..
문제 이해 단계 https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 입력으로 S가 주어지고, S개의 이모티콘을 만드는 게 목표이다. 다음의 3가지 연산만을 사용하여 S개의 이모티콘을 만들어야 한다. 기본적으로 이모티콘 1개는 입력되어 있다. 문제 조건은 아래와 같다. 1. 화면에 있는 이모티콘을 모두 복사해서 클립보드에 저장한다. 2. 클립보드에 있는 모든 이모티콘을 화면에 붙여 넣기 한다. 3. 화면에 있는 이모티콘 중 하나를 삭제한다. 모든 연산..
문제 이해 단계 https://www.acmicpc.net/problem/7682 7682번: 틱택토 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 줄은 9개의 문자를 포함하며, 'X', 'O', '.' 중 하나이다. '.'은 빈칸을 의미하며, 9개의 문자는 게임판에서 제일 윗 줄 왼쪽부터의 순서이다. 입 www.acmicpc.net 3x3 게임판에 O와 X 두 가지를 가지고 게임을 한다. 무조건 X를 먼저 두는 것을 시작으로 X와 O를 번갈아가면서 둔다. 게임에서 이기는 조건은 X나 O가 가로, 세로, 대각선 방향으로 3칸을 잇는 데 성공하는 것이다. 이를 틱택토라고 부르겠다. 틱택토를 성공하는 순간 게임은 즉시 끝난다. 게임판이 가득 차도 게임은 끝난다. 입력으로는 게임판의 최종상태가 주어지는..
문제 이해 단계 https://www.acmicpc.net/problem/3151 3151번: 합이 0 Elly는 예상치 못하게 프로그래밍 대회를 준비하는 학생들을 가르칠 위기에 처했다. 대회는 정확히 3명으로 구성된 팀만 참가가 가능하다. 그러나 그녀가 가르칠 학생들에게는 큰 문제가 있었다. www.acmicpc.net N개의 입력이 일렬로 들어온다. 입력은 정수로 들어오는데, 숫자가 -10,000 ~ 10,000 사이로 들어온다. 숫자 3개를 골라서 합이 0이 되는 경우가 몇 가지가 나오는지 찾는 문제. 숫자가 같아도 위치가 다르면 다른 경우의 수로 취급한다. 문제 접근 단계 제한사항부터 살펴보면 N개의 입력은 최대 10,000개까지 들어올 수 있다. 숫자가 3개를 골라야 하기 때문에 10000 C3..