为什么只有两个标题呢……因为第二题我不会……
怎样提高智商
构造题……然而一开始半天我都yy不出来……
后来我想:这题应该不会特别麻烦,而且既然样例只给了1,可能再给大一点就让人发现规律了……(心理战的可怕0.0?)然后yy了一下,发现全部都写0的答案是最多的,是$4*3^{n-1}$,然后就过了……
唯一用到的是快速幂?
1 //UOJ Round #5 A 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cstring> 5 #include<iostream> 6 #include<algorithm> 7 #define rep(i,n) for(int i=0;i<n;++i) 8 #define F(i,j,n) for(int i=j;i<=n;++i) 9 #define D(i,j,n) for(int i=j;i>=n;--i) 10 using namespace std; 11 const int MOD=998244353; 12 13 void read(int &v){ 14 v=0; int sign=1; char ch=getchar(); 15 while(ch<'0' || ch>'9') {if (ch=='-') sign=-1; ch=getchar();} 16 while(ch>='0'&&ch<='9') {v=v*10+ch-'0'; ch=getchar();} 17 v*=sign; 18 } 19 typedef long long LL; 20 21 LL pow_mod(int a,int b){ 22 LL r=1,base=a; 23 while(b){ 24 if (b&1) r=(r*base)%MOD; 25 base=base*base%MOD; 26 b>>=1; 27 } 28 return r; 29 } 30 31 int main(){ 32 int n=0; 33 read(n); 34 printf("%lld\n",pow_mod(3,n-1)*4%MOD); 35 F(i,1,n) printf("A 0 0 0 0\n"); 36 return 0; 37 }