80求调
查看原帖
80求调
948336
2206GZ楼主2023/11/10 16:13
#include<bits/stdc++.h>
using namespace std;
int t,id,a,b,c,d;
long long mod=998244353;
char x[1005][1005];
inline int read()
{
	int x=0,f=1;
	char c=getchar();
	while(c>'9'||c<'0')
	{
		if(c=='-')
		f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9')
	{
		x=x*10+c-'0';
		c=getchar();
	}
	return x*f;
}
int main()
{
	t=read();
	id=read();
	for(int i=1;i<=t;i++)
	{
		a=read();
		b=read();
		c=read();
		d=read();
		long long s=0,ss=0;
		for(int j=1;j<=a;j++)
		{
			for(int k=1;k<=b;k++)
			x[j][k]=getchar();
			getchar();
		}
		for(int j=1;j<=a;j++)
		for(int k=1;k<=b;k++)
		{
			int e=0,g=k+1;
			if(x[j][k]=='0')
			{
				while(g<=b&&x[j][g]=='0') e++,g++;
				int l=0,o=j+1,u=0;
				if(e>=1)
				{	
					while(o<=a&&x[o][k]=='0') l++,o++;
					int h=l;
					while(l>=2)
					{	
						int w=0;
						for(int q=k+1;q<=b;q++)
						if(x[j+l][q]=='0')
						w++;
						else break;
						s+=(e*w)%mod;
						ss+=(e*w*(h-l))%mod;
						l--;
					}
				}
			}
		}
		cout<<(s*c)%mod<<" "<<(ss*d)%mod<<endl;
	}
}
2023/11/10 16:13
加载中...