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 |
|
|
| 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 |