Submission #42774685


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
namespace my_std{
	#define ll long long
	#define bl bool
	ll my_pow(ll a,ll b,ll mod){
		ll res=1;
		if(!b) return 1;
		while(b){
			if(b&1) res=(res*a)%mod;
			a=(a*a)%mod;
			b>>=1;
		}
		return res;
	}
	ll qpow(ll a,ll b){
		ll res=1;
		if(!b) return 1;
		while(b){
			if(b&1) res*=a;
			a*=a;
			b>>=1;
		}
		return res;
	}
	#define db double
	#define pf printf
	#define pc putchar
	#define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
	#define pfr(i,x,y) for(register ll i=(x);i>=(y);i--)
	#define go(u) for(ll i=head[u];i;i=e[i].nxt)
	#define enter pc('\n')
	#define space pc(' ')
	#define fir first
	#define sec second
	#define MP make_pair
	#define il inline
	#define inf 8e18
	#define random(x) rand()*rand()%(x)
	#define inv(a,mod) my_pow((a),(mod-2),(mod))
	il ll read(){
		ll sum=0,f=1;
		char ch=0;
		while(!isdigit(ch)){
			if(ch=='-') f=-1;
			ch=getchar();
		}
		while(isdigit(ch)){
			sum=sum*10+(ch^48);
			ch=getchar();
		}
		return sum*f;
	}
	il void write(ll x){
		if(x<0){
			x=-x;
			pc('-');
		}
		if(x>9) write(x/10);
		pc(x%10+'0');
	}
	il void writeln(ll x){
		write(x);
		enter;
	}
	il void writesp(ll x){
		write(x);
		space;
	}
}
using namespace my_std;
#define mod 998244353
ll n,m,f[440][440],sum[440][440],c[440][440],ans=1;
int main(){
	n=read();
	m=read();
	fr(i,0,400){
		c[i][0]=1;
		fr(j,1,i) c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
	}
	fr(i,1,m) f[1][i]=1;
	fr(i,1,m) ans=(ans+c[n][1]*c[m][i]%mod)%mod;
	fr(i,2,n){
		fr(j,1,m) fr(k,1,m) sum[j][k]=(f[j][k]+sum[j-1][k]+sum[j][k-1]-sum[j-1][k-1]+mod)%mod;
		fr(k,1,m) f[1][k]=sum[1][k];
		fr(j,2,m) fr(k,j,m) f[j][k]=(sum[j][k]-sum[j][j-2]+mod)%mod;
		fr(j,1,m) fr(k,j,m) ans=(ans+f[j][k]*c[n][i]%mod*c[m][k]%mod)%mod;
	}
	write(ans);
}

Submission Info

Submission Time
Task F - Montage
User AFewSuns
Language C++ (GCC 9.2.1)
Score 900
Code Size 1853 Byte
Status AC
Exec Time 447 ms
Memory 7616 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:77:5: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   77 |  fr(i,0,400){
      |     ^
./Main.cpp:29:36: note: in definition of macro ‘fr’
   29 |  #define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
      |                                    ^
./Main.cpp:79:6: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   79 |   fr(j,1,i) c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
      |      ^
./Main.cpp:29:36: note: in definition of macro ‘fr’
   29 |  #define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
      |                                    ^
./Main.cpp:81:5: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   81 |  fr(i,1,m) f[1][i]=1;
      |     ^
./Main.cpp:29:36: note: in definition of macro ‘fr’
   29 |  #define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
      |                                    ^
./Main.cpp:82:5: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   82 |  fr(i,1,m) ans=(ans+c[n][1]*c[m][i]%mod)%mod;
      |     ^
./Main.cpp:29:36: note: in definition of macro ‘fr’
   29 |  #define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
      |                                    ^
./Main.cpp:83:5: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   83 |  fr(i,2,n){
      |     ^
./Main.cpp:29:36: note: in definition of macro ‘fr’
   29 |  #define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
      |                                    ^
./Main.cpp:84:6: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
   84 |   fr(j,1,m) fr(k,1,m) sum[j][k]=(f[j][k]+sum[j-1][k]+sum[j][k-1]-sum[j-1][k-1]+mod)%mod;
      |      ^
./Main.cpp:29:36: note: in definition of macro ‘fr’
   29 |  #define fr(i,x,y) for(register ll i=(x);i<=(y);i++)
      |                                    ^
./Main.cpp:84:16: warning: ISO C++17 does not allo...

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 36
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All 001-001.txt, 001-138.txt, 001-400.txt, 002-004.txt, 003-003.txt, 003-263.txt, 006-007.txt, 007-006.txt, 007-030.txt, 007-310.txt, 011-069.txt, 022-032.txt, 031-001.txt, 032-003.txt, 036-014.txt, 039-073.txt, 045-019.txt, 099-004.txt, 111-080.txt, 146-074.txt, 164-082.txt, 254-076.txt, 266-388.txt, 308-208.txt, 309-222.txt, 314-385.txt, 359-326.txt, 369-336.txt, 371-371.txt, 373-372.txt, 393-400.txt, 400-001.txt, 400-395.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
001-001.txt AC 12 ms 4900 KiB
001-138.txt AC 4 ms 5020 KiB
001-400.txt AC 4 ms 4984 KiB
002-004.txt AC 4 ms 4928 KiB
003-003.txt AC 4 ms 4800 KiB
003-263.txt AC 6 ms 6592 KiB
006-007.txt AC 2 ms 4820 KiB
007-006.txt AC 3 ms 4816 KiB
007-030.txt AC 4 ms 5216 KiB
007-310.txt AC 15 ms 7140 KiB
011-069.txt AC 5 ms 5244 KiB
022-032.txt AC 11 ms 4988 KiB
031-001.txt AC 4 ms 5008 KiB
032-003.txt AC 3 ms 4784 KiB
036-014.txt AC 5 ms 4916 KiB
039-073.txt AC 7 ms 5288 KiB
045-019.txt AC 5 ms 5100 KiB
099-004.txt AC 5 ms 4852 KiB
111-080.txt AC 11 ms 5568 KiB
146-074.txt AC 12 ms 5344 KiB
164-082.txt AC 16 ms 5464 KiB
254-076.txt AC 18 ms 5524 KiB
266-388.txt AC 280 ms 7616 KiB
308-208.txt AC 101 ms 6364 KiB
309-222.txt AC 115 ms 6432 KiB
314-385.txt AC 327 ms 7472 KiB
359-326.txt AC 269 ms 7076 KiB
369-336.txt AC 294 ms 7212 KiB
371-371.txt AC 359 ms 7452 KiB
373-372.txt AC 362 ms 7536 KiB
393-400.txt AC 436 ms 7524 KiB
400-001.txt AC 4 ms 4792 KiB
400-395.txt AC 437 ms 7548 KiB
sample-01.txt AC 4 ms 4984 KiB
sample-02.txt AC 3 ms 5020 KiB
sample-03.txt AC 447 ms 7576 KiB