题解 | 礼物清单
礼物清单
https://www.nowcoder.com/practice/df443fe5b05f4d748922584265bfcf98
#include<bits/stdc++.h>
using namespace std;
const int MOD = 1e9+7;
typedef long long ll;
ll to_res(ll n,ll num){
ll res = 1;
while(n>0){
if(n%2==0){
num=num*num%MOD;
n/=2;
}else{
res=res*num%MOD;
n--;
}
}
return res;
}
int main(){
ll n,m;
cin>>n>>m;
ll num = to_res(m,2)-1;
if(num<0)num+=MOD;
ll res = to_res(n,num);
cout<<res<<endl;
return 0;
}
查看6道真题和解析