codeforces-Good Bye 2015-New Year and Domino
2016-03-19 19:53
686 查看
有点容斥原理的意思。。。
#include<cstdio> long long dp[505][505],n,m; char mp[505][505]; int main() { while(scanf("%d%d",&n,&m)!=EOF) { for(int i=1;i<=n;i++) scanf("%s",mp[i]+1); for(int i=0;i<=n;i++) mp[i][0] = '#'; for(int j=0;j<=m;j++) mp[0][j] = '#'; for(int i=0;i<=n;i++) for(int j=0;j<=m;j++) { dp[0][0] = 0; if(i==0)dp[i][j] = 0; else if(j==0)dp[i][j] = 0; else{ dp[i][j] = dp[i][j-1]+dp[i-1][j]-dp[i-1][j-1]; if(mp[i][j]=='.'&&mp[i][j-1]=='.')dp[i][j]++; if(mp[i][j]=='.'&&mp[i-1][j]=='.')dp[i][j]++; } } int x1,y1,x2,y2,l; scanf("%d",&l); while(l--) { scanf("%d%d%d%d",&x1,&y1,&x2,&y2); long long ans = dp[x2][y2]-(dp[x1-1][y2]+dp[x2][y1-1]-dp[x1-1][y1-1]); for(int i=x1;i<=x2;i++) if(mp[i][y1]=='.'&&mp[i][y1-1]=='.')ans--; for(int i=y1;i<=y2;i++) if(mp[x1][i]=='.'&&mp[x1-1][i]=='.')ans--; printf("%I64d\n",ans); } } return 0; }
相关文章推荐
- 来自bit.ly的1.usa.gov数据
- Go 实现lamda、匿名函数和内联函数
- Go 多态功能实现
- 英文歌曲:God is a girl(上帝是女孩)
- boost::algorithm
- ZOJ 2975 Kinds of Fuwas
- Recommended Django Project Layout
- 源码下修改开机动画及开机logo
- pip工具快速安装Django模块
- 关于visibility的属性值visible,invisible,gone的区别
- 蓝桥杯竞赛准备:algorithm头文件的使用 及memset函数的使用
- Celery 在Django 环境下无法接收消息问题解决
- Hdu 3966-Aragorn's Story LCT,动态树
- 【NOIP2013模拟】Heaven Cow与God Bull
- (转)使用graphviz绘制流程图 - CoolJie - 博客园 good
- Django进阶篇【1】
- 11292 - Dragon of Loowater (Time limit: 1.000 seconds)
- go圣经笔记--第二章
- velocity和mangodb和apk的关联
- ant和velocity和mangodb的关联