十分奇怪
#include<bits/stdc++.h>
#define int long long
#define M 1000000007
using namespace std;
struct matrix{
int a[5][5];
matrix operator *(matrix b){
matrix c;
memset(c.a,0,sizeof(c.a));
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
for(int k=1;k<=3;k++){
c.a[i][j]=(c.a[i][j]+a[i][k]*b.a[k][j])%M;
}
}
}
return c;
}
};
matrix qb(matrix hh,int b){
matrix now=hh,ret;
memset(ret.a,0,sizeof(ret.a));
for(int i=1;i<=3;i++) ret.a[i][i]=1;
while(b){
if(b&1) ret=ret*now;
now=now*now;
b>>=1;
}
return ret;
}
signed main(){
int T;
cin>>T;
while(T--){
int n;
cin>>n;
/*if(n<=3){
cout<<1;
continue;
}*/
matrix hh;
hh.a[1][1]=hh.a[1][3]=hh.a[2][1]=hh.a[3][2]=1;
hh.a[1][2]=hh.a[2][2]=hh.a[2][3]=hh.a[3][1]=hh.a[3][3]=0;
matrix b=qb(hh,n-1);
cout<<b.a[1][1]<<endl;
}
return 0;
}`````
这是过了的代码
但是我觉得main函数里的
```cpp
/*if(n<=3){
cout<<1;
continue;
}*/
不应被注释掉
但是没注释80pts 注释了就AC了??
why求大佬解惑