NCPC 2003
http://www.ida.liu.se/projects/progcontest/progsm/2003/
- B
네트워크 플로우다. ㅡㅜ 왜몰랐을까. 네트워크 lower 이다.
스타트 노드와 행노드와 행sum만큼의 capacity로 연결해주고, 열노드와 엔드노드를 열sum만큼의 capacity로 연결해주면 된다. 그리고 행과 열은 주어진 조건에 따라 >k 이면 leowr를 k+1만큼 < k 이면 capacity를 k-1 만큼 =k이면 capacity와 lower를 k로 설정에서 돌리면 된다.
- D
약간 짜증나는 문제. O(n*m)인거 같다. 우선 k(1~9999까지)의 역수를 (1/k)를 저장한후 각 테스트케이스 마다 n과 t(확률중 가장 작은것과 곱해서 100 이상 - 1 : 오차때문에)를 구한후 큰것부터 ~m까지 루프(i)를 돈다.
각 확률의 round범위(예로 3.4는 3.35 <= x < 3.45)를 1/k의 배수로 가능하지 않으면 다음 i로 넘어간다. 아니면 그값을 저장한다. i에서 다만족하더라도, 계산된 확률의 값이 100%가 되지 않으면 넘어간다.(여기서 문제는 round범위에 여러개가 있을경우등을 생각하면 어려울듯...ㅡㅜ & 오차까지 생각해줘야 한다)
- G
각으로 구해서 해당길이(각의 사이를) 다 만족하는 특정각의 값이 최소가 되는것을 구하면 된다.
근데 어떻게 구하지???ㅡㅜ
- A번
디짓을 세서 출력하는것. 어렵지는 않은데 입력 받는게 짜증남
- B
네트워크 플로우다. ㅡㅜ 왜몰랐을까. 네트워크 lower 이다.
스타트 노드와 행노드와 행sum만큼의 capacity로 연결해주고, 열노드와 엔드노드를 열sum만큼의 capacity로 연결해주면 된다. 그리고 행과 열은 주어진 조건에 따라 >k 이면 leowr를 k+1만큼 < k 이면 capacity를 k-1 만큼 =k이면 capacity와 lower를 k로 설정에서 돌리면 된다.
- D
약간 짜증나는 문제. O(n*m)인거 같다. 우선 k(1~9999까지)의 역수를 (1/k)를 저장한후 각 테스트케이스 마다 n과 t(확률중 가장 작은것과 곱해서 100 이상 - 1 : 오차때문에)를 구한후 큰것부터 ~m까지 루프(i)를 돈다.
각 확률의 round범위(예로 3.4는 3.35 <= x < 3.45)를 1/k의 배수로 가능하지 않으면 다음 i로 넘어간다. 아니면 그값을 저장한다. i에서 다만족하더라도, 계산된 확률의 값이 100%가 되지 않으면 넘어간다.(여기서 문제는 round범위에 여러개가 있을경우등을 생각하면 어려울듯...ㅡㅜ & 오차까지 생각해줘야 한다)
- G
각으로 구해서 해당길이(각의 사이를) 다 만족하는 특정각의 값이 최소가 되는것을 구하면 된다.
근데 어떻게 구하지???ㅡㅜ
A.cpp


