문제에서 제시한 정확한 간선과 용량을 가진 정점 4개, 간선 5개의 유량 네트워크를 출력한다.
쉬움1그래프구현시뮬레이션아직 제출이 없습니다시간 제한2초메모리 제한512 MB항상 최대 유량 문제를 에드몬즈-카프 알고리즘으로 푸는 지구이는 어느 날 정점 500개와 간선 100000개의 유량 문제를 보게 되었다. 지구이는 유량 그래프를 구성하고 약 2000바이트를 코딩한 뒤 제출했지만, 보기만 해도 기분이 좋은 초록색 글씨 "맞았습니다!!"는 볼 수 없었다. 코드 최적화를 하다가 지친 지구이는 최악의 경우 시간복잡도가 O(V2E)인 디닉 알고리즘을 찾아냈다.
디닉 알고리즘은 생각보다 간단했다.
디닉의 시간복잡도는 O(V2E)이며, 증명은 다음과 같다.
하지만 아직도 문제가 있었다. 지구이는 열심히 구현했음에도 초록색 글씨를 보지 못했다. 결국 지구이는 디닉과 함께 그 문제를 포기했다.
며칠 후, 우연히 지구이의 디닉을 보게 된 도토리는 코드에 사소한 실수가 있었고, 그 실수 때문에 쓸모없는 연산이 많아져 시간이 오래 걸렸다는 것을 알려 주었다. 지구이는 기쁜 마음에 코드를 고쳤고, 결국 아름다운 초록색 글씨를 볼 수 있었다.
하지만 지구이는 이상한 점을 느꼈다. 간선 개수가 최대 V2개이므로 디닉은 O(V4)이고, 정점이 500개면 시간 초과가 나야 정상이다. 하지만 지구이는 도저히 오래 걸리는 데이터를 만들 수 없었다.
원래는 디닉이 느리게 동작하도록 하는 임의의 유량 그래프를 출력하면 된다. 답을 하나로 정하기 위해, 아래의 유일한 그래프를 출력한다.
정점은 4개이고 간선은 5개이다. 1번 정점에서 4번 정점까지 유량을 보낸다. 간선은 다음 순서와 용량으로 출력한다.
입력은 없다. 표준 입력이 주어지더라도 무시한다.
첫 줄에 정점 개수 N과 간선 개수 M을 공백으로 구분해 출력한다.
다음 M개의 줄에 시작 정점 s, 끝 정점 e, 최대 유량 f를 공백으로 구분해 출력한다.
출력은 N=4, M=5이고, 간선은 문제에서 정한 순서와 용량을 그대로 따른 한 가지여야 한다.