比赛 20170919普及组 评测结果 AAAAAAA
题目名称 家的范围 最终得分 100
用户昵称 雾茗 运行时间 0.507 s
代码语言 C++ 内存使用 4.20 MiB
提交时间 2017-09-19 20:53:31
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int q[1009][1009]={0},n,i,bian,j,pd;
char s[1000];
int ans[1009]={0};
int main()
{	
	freopen("range.in","r",stdin); 
	freopen("range.out","w",stdout);
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cin>>s;
		for(j=1;j<=n;j++)
		{
			if(s[j-1]=='1'){
				q[i][j]=q[i][j-1]+1;
			}
		}
	}
	for(bian=2;bian<=n;bian++){
		for(i=bian;i<=n;i++)
		{
			for(j=bian;j<=n;j++)
			{
				int pd=i;
				while(pd>i-bian){
				   if(q[pd][j]>=bian){
					   pd--;
				   }
				   else{
					   break;
				   }
				if(pd==i-bian){
					ans[bian]++;
				}
				}
			}
		}
	}
	for(int v=1;v<=n;v++){
		if(ans[v]!=0){
			cout<<v<<' '<<ans[v]<<endl;
		}
	}
	return 0;
}