고전적인 합 문제
시간 제한2초메모리 제한1024 MB
n개 도시가 일렬로 놓여 있고 k명의 친구가 살 수 있는 모든 n^k 가지 경우에 대해, 이동 거리 합이 최소인 도시 번호를 구하고 그 총합을 998244353으로 나눈 나머지를 구합니다.
문제
공화국 Never에는 도시 개와 도로 개가 있다. 도시에는 1번부터 번까지 번호가 붙어 있다. 도로에는 1번부터 번까지 번호가 붙어 있으며, 번 도로는 도시 와 도시 을 잇는다. 모든 도로는 양방향으로 통행할 수 있다. 거리 는 도시 에서 도시 로 이동하는 데 지나야 하는 도로 수의 최솟값이다.
명의 친구가 만나려고 한다. 번째 친구는 도시 에 산다. 친구들은 를 최소로 만드는 도시 를 고른다. 그런 도시가 여러 개이면 그중 번호가 가장 작은 도시를 고른다.
친구 수만 알고 친구들이 사는 도시는 모른다. 각 친구는 개 도시 중 어디에나 살 수 있으므로 가능한 경우는 모두 가지이다. 모든 경우에 대해 친구들이 고른 도시 번호를 모두 더한 합을 구하라.
입력
첫 줄에 도시 수 과 친구 수 가 주어진다 ().
출력
가지 경우의 합을 으로 나눈 나머지를 출력한다.
힌트
첫 번째 경우는 도시가 3개, 친구가 2명이므로 가능한 경우가 가지이다. 친구 중 한 명이라도 도시 1에 살면 친구들은 도시 1을 고르며, 이런 경우는 5가지이다. 그렇지 않고 친구 중 한 명이라도 도시 2에 살면 도시 2를 고르며, 이런 경우는 3가지이다. 나머지 1가지는 두 친구가 모두 도시 3에 사는 경우이며, 이때 도시 3을 고른다. 따라서 합은 이다.