记录编号 546000 评测结果 AAAAAAAAAAAAAAAAAAAAAAAAA
题目名称 魔法部落 最终得分 100
用户昵称 Gravatar发光二向箔 是否通过 通过
代码语言 C++ 运行时间 0.012 s
提交时间 2019-11-04 22:27:48 内存使用 13.66 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
typedef unsigned long long ULL;
const ULL mod=1000000007;
ULL Power(ULL n)
{
   	ULL ans;
   	if(n==0)return 1;
   	if(n&1)return 3*Power(n-1)%mod;
   	else{
    	ans=Power(n/2);
    	return ((ans%mod)*(ans%mod))%mod; 
   	} 
}
ULL powersummod(ULL n)
{
  	if(n==1)return 3;
   	ULL s=powersummod((n/2));
   	ULL ans=(s+s*Power((n/2)))%mod;
   	if(n&1)
   	{
   		ans=(ans+Power(n))%mod;
   	}
   	return ans;
   }
int main()
{
   	freopen("magicd.in","r",stdin);
   	freopen("magicd.out","w",stdout);
   	ULL n;
   	cin>>n;
   	ULL s=powersummod(n)+1;
   	cout<<s<<endl;
   	return 0;
}