链接:
https://codeforces.com/problemset/problem/1514/B
题意:
题目大概讲的是,输入两个整数n,k,从1到2的k次方-1中,选n个数,使他们的和最大且,按位与运算的结果是0,求满足这样的组合有多少。
满足和最大,且按位与运算的结果是0,只需要二进制每一位都有一个数是0,总共n个数,所以每一位都有n种情况,有k位,所以总共有n的k次方中组合。
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
int main() {
int T;
cin >> T;
while (T--) {
ll n, k;
cin >> n >> k;
ll ans = 1;
while (k--) {
ans *= n;
ans %= mod;
}
cout << ans;
cout << endl;
}
return 0;
}