Codeforces Round #177 (Div. 1) B - Polo the Penguin and Houses
2015-03-13 20:41
399 查看
因为K最多只有8,所以暴力求出所有的k对应的值,然后再乘上相应的阶乘就行了。。。
#include <iostream> #include <queue> #include <stack> #include <map> #include <set> #include <bitset> #include <cstdio> #include <algorithm> #include <cstring> #include <climits> #include <cstdlib> #include <cmath> #include <time.h> #define maxn 100005 #define maxm 100005 #define eps 1e-7 #define mod 1000000007 #define INF 0x3f3f3f3f #define PI (acos(-1.0)) #define lowbit(x) (x&(-x)) #define mp make_pair #define ls o<<1 #define rs o<<1 | 1 #define lson o<<1, L, mid #define rson o<<1 | 1, mid+1, R #define pii pair<int, int> #pragma comment(linker, "/STACK:16777216") typedef long long LL; typedef unsigned long long ULL; //typedef int LL; using namespace std; LL qpow(LL a, LL b){LL res=1,base=a;while(b){if(b%2)res=res*base;base=base*base;b/=2;}return res;} LL powmod(LL a, LL b){LL res=1,base=a;while(b){if(b%2)res=res*base%mod;base=base*base%mod;b/=2;}return res;} //head int n, k; void read() { scanf("%d%d", &n, &k); } void work() { LL ans = 0; if(k == 1) ans = 1; if(k == 2) ans = 2; if(k == 3) ans = 9; if(k == 4) ans = 64; if(k == 5) ans = 625; if(k == 6) ans = 7776; if(k == 7) ans = 117649; if(k == 8) ans = 2097152; int t = n - k; if(t == 0) ans *= 1; else ans = (ans * powmod(t, t)) % mod; printf("%I64d\n", ans); } int main() { read(); work(); return 0; }
相关文章推荐
- Codeforces Round #177 (Div. 1) B. Polo the Penguin and Houses【组合数学】
- Codeforces Round #177 (Div. 2)---D. Polo the Penguin and Houses (组合数学+暴力)
- Codeforces Round #177 (Div. 1)C. Polo the Penguin and XOR operation【贪心】
- 【贪心】Codeforces Round #177 (Div. 1) C - Polo the Penguin and XOR operation
- CF_288B_PoloThePenguinAndHouses
- Codeforces Round #177 (Div. 1) A - Polo the Penguin and Strings
- Codeforces Round #177 (Div. 1) C. Polo the Penguin and XOR operation(贪心)
- Codeforces Round #177 (Div. 2)---E. Polo the Penguin and XOR operation(贪心)
- codeforces 289B - Polo the Penguin and Matrix 二分+dp
- A. Polo the Penguin and Strings
- codeforces#289_B Polo the Penguin and Matrix
- Codeforces-289a I Polo the Penguin and Segments
- CodeForces 288C Polo the Penguin and XOR operation (位运算,异或)
- A. Polo the Penguin and Strings
- codeforces 289 B. Polo the Penguin and Matrix
- codechef Polo the Penguin and the Tree
- CF 288C (Polo the Penguin and XOR operation)
- CodeForces 288C - Polo the Penguin and XOR operation
- Codeforces-289b J Polo the Penguin and Matrix
- CodeForces 289A Polo the Penguin and Segments