QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#239121#5661. Multi-LaddersItsJerr#AC ✓0ms3644kbC++20609b2023-11-04 18:42:232023-11-04 18:42:23

Judging History

你现在查看的是最新测评结果

  • [2023-11-04 18:42:23]
  • 评测
  • 测评结果:AC
  • 用时:0ms
  • 内存:3644kb
  • [2023-11-04 18:42:23]
  • 提交

answer

/*input
2
2 3 3
1000000000 1000000000 3
*/
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 1e9 + 7;
int pw(int a, int b)
{
	if (b == 1) return a;
	if (b == 0) return 1;
	int mid = pw(a, b / 2);
	mid = mid * mid % mod;
	if (b & 1) return mid * a % mod;
	return mid;
}
main() {
	cin.tie(0)->sync_with_stdio(0);
	int t;
	cin  >> t;
	while (t-- > 0)
	{
		int n, k, A;
		cin >> n >> k >> A;
		cout << /*(A*(A-2)%mod*pw(A-1,k-2)%mod)*/((pw(-1,k)+mod*mod)%mod*(A-1)%mod+pw(A-1,k))%mod
		*pw(pw((pw(A-2,2)+A-1)%mod,n-1),k)%mod << '\n';
	}
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3644kb

input:

1
2 3 3

output:

162

result:

ok single line: '162'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

20
2 3 3
1 3 3
10 3 0
10 3 2
1 21 2
1 22 0
2000 15000 2000
12000 30000 200000
1000000000 3 3
2 1000000000 3
2 3 100000000
1000000000 1000000000 10
1000000000 3 100000000
2 1000000000 100000000
1 1000000000 10
1 1000000000 100000000
1 1000 100000000
1000000000 1000000000 0
1000000000 1000000000 1
100...

output:

162
6
0
0
0
0
349400141
243010659
52489881
53690844
176686901
218103365
558243892
991895211
693053429
883715672
80402569
0
0
311752813

result:

ok 20 lines