CodeForces 288B

题意:

给定 n 和k,n 表示有n个房子,然后每个有一个编号,一只鹅要从一个房间中开始走,下一站就是房间的编号,现在要你求出有多少

种方法编号并满足下面的要求:


1.如果从1到k开始走,一定能走到 1。

2.如果从k+1到n 开始走,一定走不到 1.

3.如果从 1 开始走,那么一定能回到1,并且走过房间数不为0.


输入:

5 2

7 4

输出:

54

1728


代码:

#include<bits/stdc++.h>
using namespace std;

const int MOD=1000000000+7;
int main()
{
    int n,k,a[10];
    a[1]=1;
    a[2]=2;
    a[3]=9;
    a[4]=64;
    a[5]=625;
    a[6]=7776;
    a[7]=117649;
    a[8]=2097152;
    cin >>n>>k;
    long long int ans=a[k];
    for(int i=0; i<n-k; i++)
    {
        ans*=(n-k);
        ans%=MOD;
    }
    printf("%I64d\n",ans);
    return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值