이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<cstdio>
int a,b,i,c,j,k,ans,g,h,w[3333][3333],z[3333][3333];
char s[3333];
int sum(int x1,int y1,int x2,int y2)
{
	return z[x2][y2]-z[x2][y1-1]-z[x1-1][y2]+z[x1-1][y1-1];
}
main()
{
	scanf("%d%d",&a,&b);
	for(i=1;i<=a;i++)
	{
		scanf("%s",s);
		for(j=0;j<b;j++)
		{
			if(s[j]=='R')w[i][j+1]=1;
		}
	}
	for(i=1;i<=a;i++)
	{
		for(j=1;j<=b;j++)
		{
			z[i][j]=z[i][j-1]+w[i][j];
		}
	}
	for(i=1;i<=a;i++)
	{
		for(j=1;j<=b;j++)
		{
			z[i][j]+=z[i-1][j];
		}
	}
	for(i=1;i<=a;i++)
	{
		for(j=i;j<=a;j++)
		{
			h=0;
			for(k=1;k<=b+1;k++)
			{
				if(sum(i,k,j,k)==j-i+1)
				{
					h++;
				}
				else
				{
					ans+=h*(h+1)/2;
					h=0;
				}
			}
		}
	}
	printf("%d",ans);
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |