见证自己成长
//https://www.nowcoder.com/acm/contest/157/A
石子阵列,原题如上~
正确思路:后来再做,经过讨论。发现仅仅是一个简单的排列组合问题。第一个是 m 种排法,下一个就是 m - 1 种排法,以此类推,只要是不相邻,就得用剩余的m-1 种接着排,因为总共有 n 个,所以放在循环里排 n 次。然后取模, 即取余
#include<iostream>
# define M 1000000007;
using namespace std;
int main(void)
{
int n,m;
cin >> n >> m;
long long sum = m;
for( int i=1; i<n; i++) {
sum = sum * (m-1);
sum = sum % M;
}
cout << sum << endl;
return 0;
}