腾讯马拉松 第三场 1003 小小明系列故事——游戏的烦恼 大水题
2013-03-23 22:46
423 查看
比赛的时候看错题意了,其实是个大水题
只用把每个点和(0,0)之前的和算出来,然后枚举左上角即可
只用把每个点和(0,0)之前的和算出来,然后枚举左上角即可
/* author:jxy lang:C/C++ university:China,Xidian University **If you need to reprint,please indicate the source** */ #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <queue> #define INF 1E9 using namespace std; int sum[2001][2003]; int main() { int n,m; while(~scanf("%d%d",&n,&m)&&n+m) { int x,y; scanf("%d%d",&x,&y); int i,j; getchar(); memset(sum,0,sizeof(sum)); for(i=1;i<=n;i++,getchar()) for(j=1;j<=m;j++) { if(getchar()=='*') { sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+1; } else sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]; } int ans=0; for(i=0;i<n;i++) for(j=0;j<m;j++) { if(i+x<=n&&j+y<=m&&sum[i+x][j+y]+sum[i][j]-sum[i+x][j]-sum[i][j+y]==(x*y))ans++; if(x!=y&&i+y<=n&&j+x<=m&&sum[i+y][j+x]+sum[i][j]-sum[i+y][j]-sum[i][j+x]==(x*y))ans++; } printf("%d\n",ans); } }
相关文章推荐
- [2013腾讯马拉松 3月23日]HDU 4517 小小明系列故事——游戏的烦恼
- hdu ---(4517)小小明系列故事——游戏的烦恼(Dp)
- 2013腾讯编程马拉松初赛第一场(3月21日)小明系列故事——师兄帮帮忙
- 2013腾讯编程马拉松初赛第一场(3月21日) 小明系列故事——师兄帮帮忙 !!快速幂取摸
- hdu 4517 小小明系列故事——游戏的烦恼
- 小明系列故事——玩转十滴水 腾讯马拉松时间模拟 HDOJ 4527
- 腾讯马拉松复赛第三场,HDOJ-4544 - 湫湫系列故事——消灭兔子
- 2013腾讯编程马拉松初赛第〇场(3月20日)小明系列故事——买年货
- 小小明系列故事——游戏的烦恼(hdu 4517)
- hdu 4517 小小明系列故事——游戏的烦恼
- HDOJ4501 小明系列故事——买年货(三维多重背包变形)&& 腾讯2013编程马拉松第0场第二题
- 小小明系列故事——游戏的烦恼
- 威威猫系列故事——打地鼠(腾讯马拉松第三场)
- HDU - 4544 湫湫系列故事――消灭兔子 2013腾讯编程马拉松复赛第三场
- Hdu 4517 小小明系列故事——游戏的烦恼
- hud4517小小明系列故事——游戏的烦恼
- HDU 4527 小明系列故事——玩转十滴水 2013腾讯编程马拉松初赛第五场第二题
- 小小明系列故事——游戏的烦恼
- 腾讯第二届编程马拉松初赛3月21日晚第二题之小明系列故事——师兄帮帮忙
- HDU 4517 小小明系列故事---游戏的烦恼 (模拟题)