Processing math: 100%
编程题
                ### 问题描述

小蓝是一位天才的油漆艺术家,他最近遇到了一个非常有趣的挑战。在他的工作室里,有一条由 n 个格子组成的长条,每个格子都可以用 m 种不同的颜色之一来涂色。然而,有一点是固定的,第 1 个格子的颜色已经被小蓝选择好了,同样,最后一个格子(第 n 个格子)的颜色也已经确定。

小蓝的任务是给剩下的格子涂色,但有一个重要的规则:相邻的格子不能使用相同的颜色。这使得小蓝的任务变得相当复杂。他想知道,在遵守这个规则的前提下,有多少种不同的涂色方案可以选择,这个答案可能很大,请对 998244353 取模。

你能帮助小蓝解决这个问题吗?

输入格式

第一行输入两个整数 n,m ,表示格子数量和可选颜色的数量。

接下来一行输入一个整数 c1 ,表示第 1 个格子的颜色。

接下来一行输入一个整数 cn ,表示第 n 个格子的颜色。

输出格式

输出一个整数,表示在满足相邻格子不相同颜色的情况下,可行的涂色方案数量。

答案对 998244353 取模。

样例输入

4 3
1
2

样例输出

3

说明

在上述示例中,共有 3 种颜色可选,第一个格子的颜色已经确定为 1 ,最后一个格子的颜色已经确定为 2 。因此,根据相邻格子不能相同颜色的规则,可以有 3 种不同的涂色方案,分别为:121212321312

评测数据范围

1n105,1c1,cnm102

查看答案
赣ICP备20007335号-2