计算机学院大学生程序设计竞赛(2015’12) 1006 01 Matrix
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<map>
#include<queue>
using namespace std; const int maxn=+;
char s[maxn][maxn];
int n,m;
int c[maxn][maxn];
int sum[*maxn][*maxn];
int ans[maxn]; int main()
{
int T;
//freopen("F:\\in.txt","r",stdin);
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
memset(sum,,sizeof sum);
memset(ans,,sizeof ans);
// memset(c,0,sizeof c);
for(int i=;i<n;i++) scanf("%s",s[i]);
for(int i=;i<=n;i++) for(int j=;j<=n;j++) c[i][j]=s[i-][j-]-''; for(int i=;i<=*n;i++)
for(int j=;j<=*n;j++)
{
if(i>n||j>n)sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-];
else sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+c[i][j];
} for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if(c[i][j]==) continue;
int left,right,mid;
int anslen;
left=;right=n;
while(left<=right)
{
mid=(left+right)/;
int s=sum[i+mid-][j+mid-]-sum[i+mid-][j-]-sum[i-][j+mid-]+sum[i-][j-];
if(s==mid*mid)
{
anslen=mid;
left=mid+;
}
else right=mid-;
}
ans[anslen]++;
}
} for(int i=n-;i>=;i--) ans[i]=ans[i]+ans[i+];
//for(int i=1;i<=n;i++) printf("%d %d\n",i,ans[i]); for(int i=;i<=m;i++)
{
int x;
scanf("%d",&x);
printf("%d\n",ans[x]);
} }
return ;
}
计算机学院大学生程序设计竞赛(2015’12) 1006 01 Matrix的更多相关文章
- hdu 计算机学院大学生程序设计竞赛(2015’11)
搬砖 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submissi ...
- 计算机学院大学生程序设计竞赛(2015’11)1005 ACM组队安排
1005 ACM组队安排 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pro ...
- 计算机学院大学生程序设计竞赛(2015’12)Study Words
Study Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 计算机学院大学生程序设计竞赛(2015’12)Polygon
Polygon Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 计算机学院大学生程序设计竞赛(2015’12)The Country List
The Country List Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 计算机学院大学生程序设计竞赛(2015’12) 1008 Study Words
#include<cstdio> #include<cstring> #include<map> #include<string> #include&l ...
- 计算机学院大学生程序设计竞赛(2015’12) 1009 The Magic Tower
#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using ...
- 计算机学院大学生程序设计竞赛(2015’12) 1003 The collector’s puzzle
#include<cstdio> #include<algorithm> using namespace std; using namespace std; +; int a[ ...
- 计算机学院大学生程序设计竞赛(2015’12) 1004 Happy Value
#include<cstdio> #include<cstring> #include<cmath> #include<vector> #include ...
随机推荐
- 杂音 & pop 音的解决方法
杂音 & pop 音的解决方法 1. 喇叭有严重的"吱吱"破音,绝大多数的原因有可能在于V(out)电压不稳定,所以最好测一下无负载时的输出电压.同时也可以测量 VCC – ...
- Inno Setup入门(九)——修改安装过程中的文字显示
前面说到过可以使用不用的语言文件实现不同的显示方式,方便与国际接轨,事实上即使没有语言文件也可以实现修改.[Messages]段用于定义安装程序和卸载程序中显示的消息.一般不需要创建 [Message ...
- 查看端口号他所占用的exe应用程序
- 【jsp网站计数功能】 application session
在jsp页面中实现网站计数器的方法有很多,其中比较普遍的做法是利用application 和session对象.application对象可被所有用户共享:session是单用户共享,用户从访问系统开 ...
- 做.net的早晚会用到,并且网上还没有这方面的正确资料或几乎很少
原文网址:http://www.cnblogs.com/langu/archive/2012/03/23/2413990.html 一直以来,找安装程序的msi源文件路径得到的都是“system32” ...
- Checking the Calendar
Checking the Calendar time limit per test 1 second memory limit per test 256 megabytes input standar ...
- C++调用com控件方法
转载自:http://blog.csdn.net/haijun286972766/article/details/6273414 最近要求做一个C++调用com组件的DEMO.由于自己对C++并无研究 ...
- fidder 调接口 的 小常识
fidder 调试接口 进入fidder页面 点击 composer Content-Type: application/x-www-form-urlencoded; charset=UTF- ...
- windows程序设计(四)
对话框常用相关消息映射函数: 一.对话框初始化消息: 1.WM_CREATE:通用窗口初始化消息 窗口还未显示出来,只有父窗口,子窗口还没创建 2.WM_INITDIALOG:对话框窗口专用消息 子窗 ...
- acm课程练习2--1001
题目描述 Now,given the equation 8x^4 + 7x^3 + 2x^2 + 3x + 6 == Y,can you find its solution between 0 and ...