Description
Input
Output
Sample Input
2
Sample Output
2
Data Constraint
.
.
.
.
.
.
分析
首先明确一点:n必须是“山峰”的最高点,然后依次是n-1,n-2,…,1。其中,n-1这个数可以放在左边的“山”,也可以放在右边的“山”,然后n-2亦是如此……直到1,都有两种放置方案,故最后的结果就是2^n-1。
.
.
.
.
.
程序:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long b,p=1000000007,n;
long long power(long long a)
{
long long ans=1;
for (;b;b>>=1)
{
if (b&1) ans=(long long)ans*a%p;
a=(long long)a*a%p;
}
return ans;
}
int main()
{
scanf("%lld",&n);
b=n-1;
long long w=power(2);
printf("%lld",w);
return 0;
}