求codegolf
  • 板块学术版
  • 楼主luogu_gza2
  • 当前回复16
  • 已保存回复16
  • 发布时间2024/1/7 10:33
  • 上次更新2024/1/7 13:48:45
查看原帖
求codegolf
962151
luogu_gza2楼主2024/1/7 10:33

这段代码可以再短一些吗?

#import"bits/stdc++.h"
using namespace std;
#define int long long
#define F for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)
int M=998244353;int n,m,q,A[1010][1010],f[1010][1010],a,b,c,d;int g(int a,int b,int c,int d=m){return (a>b||c>d)?0:(2*M+A[b][d]-A[a-1][d]-A[b][c-1]+A[a-1][c-1])%M;}main(){cin>>n>>m>>q;F scanf("%lld",&A[i][j]),(A[i][j]+=A[i-1][j]+A[i][j-1]-A[i-1][j-1])%=M;F (A[i][j]+=A[i-1][j]+A[i][j-1]-A[i-1][j-1])%=M;F f[i][j]=(2*M+g(1,n-i,1,m-j)-g(1,n-i,j)-g(i,n,1,m-j)+g(i,n,j))%M,f[i][j]=(f[i][j]+f[i-1][j]+f[i][j-1]-f[i-1][j-1]+M)%M;while(q--)scanf("%lld%lld%lld%lld",&a,&b,&c,&d),cout<<(2*M+f[b][d]-f[a-1][d]-f[b][c-1]+f[a-1][c-1])%M<<"\n";}
2024/1/7 10:33
加载中...