(打表找规律+前缀异或和)MORE XOR
H.Coloring Game
推出来n大于1时,3^(n-2)*4。
这题让我很是扎心,比赛的时候和队友思路很快就出了,可是提交wa。
后来队友也是找不出错,直接重写了。结果AC,我发现是快速幂中有个权开小了,int改成long long就成了。
#include<bits/stdc++.h> using namespace std; const int MOD=1e9+7; typedef long long ll;ll pow1(ll a,int b,int c){ll ans=1;a=a%c;while(b>0){if(b&1){ans=(ans*a)%c;}a=(a*a)%c;b>>=1;}return ans; }int main() {int n;scanf("%d",&n);ll ans;if(n==1) ans=1;else{ans=pow1(3,n-2,MOD);ans=(ans*4)%MOD;}printf("%lld\n",ans);return 0; }