比赛 |
20160329 |
评测结果 |
AAAAAAAAAA |
题目名称 |
拉拉队 |
最终得分 |
100 |
用户昵称 |
KZNS |
运行时间 |
0.014 s |
代码语言 |
C++ |
内存使用 |
1.46 MiB |
提交时间 |
2016-03-29 10:48:03 |
显示代码纯文本
//KZNS
#include <fstream>
using namespace std;
//
ifstream fin ("Cheerleaders.in");
ofstream fout ("Cheerleaders.out");
const int MD = 1000007;
//
int M, N, K;
int c[500][600] = {0};
//
void fst() {
c[1][1] = 1;
for (int i = 0; i < 500; i++)
c[i][0] = 1;
}
inline int C(int n, int m) {
if (m > n)
return 0;
if (!c[n][m])
c[n][m] = (C(n-1,m) + C(n-1,m-1)) % MD;
return c[n][m];
}
//
int main() {
fst();
int t;
fin >>t;
int ed;
for (int i = 1; i <= t; i++) {
fin >> M >> N >> K;
ed = C(M*N, K)
- ( 0
+ ( C((M-1)*N, K)
+ C((M-1)*N, K)
+ C(M*(N-1), K)
+ C(M*(N-1), K)
) % MD
- ( C((M-2)*N, K)
+ C(M*(N-2), K)
+ C((M-1)*(N-1), K)
+ C((M-1)*(N-1), K)
+ C((M-1)*(N-1), K)
+ C((M-1)*(N-1), K)
) % MD
+ ( C((M-1)*(N-2), K)
+ C((M-1)*(N-2), K)
+ C((M-2)*(N-1), K)
+ C((M-2)*(N-1), K)
) % MD
- C((M-2)*(N-2), K)
) % MD;
ed %= MD;
ed += MD;
ed %= MD;
fout << "Case " << i << ": " << ed << endl;
}
return 0;
}
//UBWH