比赛 CSP2022普及组 评测结果 AAAAAAAAAA
题目名称 乘方 最终得分 100
用户昵称 zxhhh 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-10-29 15:19:03
显示代码纯文本
#include <bits/stdc++.h>

using namespace std;

typedef long long LL;
const LL MAXN = 1e9;
LL a, b;

LL qpow (LL p, LL q) {
	if (q == 0) return 1;
	LL x = qpow(p, q / 2);
	if (x == -1 || x > MAXN) return -1;
	if (x >= 1e5) return -1;
	if (q % 2 == 0) {
		LL res = x * x;
		if (res > MAXN) return -1;
		return res;
	}
	else {
		LL res = x * x * p;
		if (res > MAXN) return -1;
		return res;
	}
}

int main () {
	freopen("csp2022pj_pow.in", "r", stdin);
	freopen("csp2022pj_pow.out", "w", stdout); 
	cin >> a >> b;
	cout << qpow(a, b) << endl;
	return 0;
}