本来想卡卡oj最优空间的
但是发现这个东西,他就有 2000kb,不知道为啥,看到其他人都有 100 来kb的(ac代码。)
求助万能的谷民!
#include <bits/stdc++.h>
// using namespace std;
// int n,m,a,b,c;
// int ans[2],A[2][2],cur[2][2],cur2[2];
// void mul1(){
// memset(cur,0,sizeof cur);
// for(int i=0;i<2;i++)
// for(int j=0;j<2;j++)
// for(int k=0;k<2;k++)
// (cur[i][k]+=1ll*A[i][j]*A[j][k]%m)%=m;
// for(int i=0;i<2;i++)
// for(int j=0;j<2;j++)A[i][j]=cur[i][j];
// }
// void mul2(){
// memset(cur2,0,sizeof cur2);
// /*
// cout<<"in mul2 first\n";
// for(int i=0;i<2;i++)cout<<ans[i]<<" \n"[i==1];
// for(int i=0;i<2;i++)
// for(int j=0;j<2;j++)cout<<A[i][j]<<" \n"[j==1];
// cout<<"in mul2 second\n";
// */
// for(int i=0;i<2;i++)
// for(int j=0;j<2;j++)
// (cur2[j]+=1ll*ans[i]*A[i][j]%m)%=m;
// for(int i=0;i<2;i++)ans[i]=cur2[i]/*,cout<<ans[i]<<" \n"[i==1]*/;
// }
// int slv(int x){
// ans[0]=1%m,ans[1]=(n+1)%m;
// if(x<=2)return ans[max(0,x-1)];
// A[0][0]=0,A[0][1]=n%m;
// A[1][0]=1%m,A[1][1]=1%m;
// /*
// for(int i=0;i<2;i++){
// for(int j=0;j<2;j++){
// cout<<A[i][j]<<" \n"[j==1];
// }
// }
// */
// x-=2;
// /*
// for(int i=0;i<2;i++){
// cout<<ans[i]<<" \n"[i==1];
// }
// cout<<"before while\n";
// */
// while(x){
// if(x&1)mul2();
// mul1(),x>>=1;
// }
// /*
// for(int i=0;i<2;i++){
// cout<<ans[i]<<" \n"[i==1];
// }
// cout<<"-----------\n";
// for(int i=0;i<2;i++){
// for(int j=0;j<2;j++){
// cout<<A[i][j]<<" \n"[j==1];
// }
// }
// */
// return ans[1];
// }
int main() {
// cin>>n>>m>>a>>b;
// cout<<slv(a-1)%m<<'\n'<<slv(b-1)%m<<'\n'<<slv(__gcd(a,b)-1)%m<<'\n';
// return 0;
}