牛客 —— 石子阵列

见证自己成长

//https://www.nowcoder.com/acm/contest/157/A
石子阵列,原题如上~


正确思路:后来再做,经过讨论。发现仅仅是一个简单的排列组合问题。第一个是 m 种排法,下一个就是 m - 1 种排法,以此类推,只要是不相邻,就得用剩余的m-1 种接着排,因为总共有 n 个,所以放在循环里排 n 次。然后取模, 即取余


#include
# define M 1000000007;
using namespace std;

int main(void)
{
    int n,m;
    cin >> n >> m;

    long long sum = m;
    for( int i=1; isum = sum * (m-1);
        sum = sum % M;
    }

    cout << sum << endl;

    return 0;
}

你可能感兴趣的:(牛客)