UVa 12712 Pattern Locker
UVa 12712 Pattern Locker
#include <cstdio>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
#define MOD 10000000000007
typedef long long lint;
int main() {
lint test, l, m, n, kase=1;
cin >> test;
while (test--) {
cin >> l >> m >> n;
lint init = 1;
for (lint i = l*l ; i>(l*l-m) ; i--) {
init = ((init * i)%MOD);
}
lint sum = init;
for (lint i = (l*l-m) ; i>(l*l-n) ; i--) {
init = ((init * i)%MOD);
sum = ((sum + init)%MOD);
}
cout << "Case " << kase++ << ": " << sum << endl;
}
return 0;
}
Go to link download