일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- USACO 2017 January Contest
- scpc 예선
- USACO 2017 US Open Contest
- USACO 2017 February Contest
- USACO 2016 January Contest
- USACO 2016 February Contest
- scpc
- USACO 2017 December Contest
- scpc2017
- USACO 2016 December Contest
- Today
- Total
CS's Blog
#Practice Codeforces Round #100 본문
새로운 연습실에서 처음으로 돈 세트이다.
A,B,C,D를 해결했지만 문제 내에 번뜩이는 아이디어는 없었다. B번의 해석이 이해가 안돼서 많은 시간을 소비했다.
A. New Year Table
반지름 R인 원 안에 반지름이 r인 원 n개를 큰 원의 변에 접하도록 넣을 수 있는 지 묻는 문제이다.(n<=100,r, R<=1000)
Sol :
설명은 아래 그림으로 대체한다.
Code : http://ideone.com/Z1stAW
B. New Year Cards
N명의 친구들에게 편지를 받고 나눠주는 문제이다. 편지는 1부터 n까지 차례대로 받게 된다. 편지를 받게되면 그 편지는 여러명의 친구들에게 나누어 줄 수 있다. 또한 각각의 친구는 한장의 편지만 받게 된다.(2<=N<=300)
N명의 친구들은 모두 편지에 대해서 선호도를 가지고있고, 자신도 편지들에 대해서 선호도를 가지고있다.
현재 i번째 편지를 받은 후 자신이 편지를 보낼 때, 가지고 있는 편지들은 사람 x에게 다음 두 규칙을 따라서 줄 수 있다.
1. x가 i와 같으면 i번째 편지는 보낼 수 없다.
2. 위 편지를 제외하고 나머지 편지중, 자신의 선호도가 가장 높은 편지만을 보낼 수 있다.
위와 같은 규칙을 따를때 친구들의 선호도가 가장 높도록 편지를 나누어 주는 방법을 묻는 문제이다.
Sol :
각 편지들에 대해서 보낼 수 있는 편지인지 결정한 후, 각 사람들의 선호도가 높은순서로 보낼 수 있는가? 로 풀면 된다..
Code: http://ideone.com/xm3N4p
C. New Year Snowmen
크기 n의 수열이 입력으로 주어졌을때 서로 다른 3개의 묶음을 얼마나 많이 만들 수 있는가? 를 묻는 문제이다. (1<=n<=10^5)
Sol :
각 숫자들을 숫자, 빈도수로 새로 저장을 한 후, 힙을 이용해서 가장 빈도수가 큰 3개의 숫자를 하나로 묶고 다시 힙에 넣어주는 식으로 해결하면 된다.
Code : http://ideone.com/tP6Imz
D. New Year Contest
n개의 숫자를 입력받고 icpc패널티를 최소화 시키는 문제이다. 경기시간은 720분이고, 문제읽는 시간을 10분 소모한다. 360분이 지난 후에 패널티를 추가하는 방식이다.
Sol :
문제를 푸는데 드는 시간이 적은 문제부터 해결하면 된다.
Code : http://ideone.com/svvTeC
'Problem Solving > Practice' 카테고리의 다른 글
#Practice SCPC 2017 1차 예선 후기 및 풀이 (0) | 2017.07.01 |
---|---|
#Practice Codeforces Round #200 div1 (0) | 2017.06.28 |