bzoj 2241: [SDOI2011]打地鼠
2016-03-20 19:06
405 查看
#include<cstdio> #include<iostream> using namespace std; int n,m,a[105][105],b[106][106],ans,sum; void pan(int i,int j) { int su=0; for(int i1=1;i1<=n;i1++) for(int j1=1;j1<=m;j1++) b[i1][j1]=a[i1][j1]; for(int x=1;x<=n-i+1;x++) for(int y=1;y<=m-j+1;y++) if(b[x][y]) { int a1=b[x][y]; for(int x1=x;x1<x+i;x1++) for(int y1=y;y1<y+j;y1++) { b[x1][y1]-=a1; if(b[x1][y1]<0) return; } su+=a1*i*j; } if(su==sum) ans=sum/(i*j); } int main() { scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { scanf("%d",&a[i][j]); sum+=a[i][j]; } ans=sum; for(int i=n;i;i--) for(int j=m;j;j--) if(sum%(i*j)==0&&sum/(i*j)<ans) pan(i,j); printf("%d\n",ans); return 0; }
题解说是二阶差分 但我是暴力过的。
相关文章推荐
- 玩转 NPM
- Java Copy On Write
- hdu 5612 Baby Ming and Matrix games
- Visual Studio Productivity Power Tools居然也开源
- 内部类的详解
- CentOS 6.7 下 MYSQL 5.7 的安装与配置
- 移动端字体那些事儿
- ViewDragHelper制作底部弹出菜单
- 正则表达式的汉字匹配
- python中多进程编程
- hdoj 2019 数列有序!(水)
- iOS应用架构谈 view层的组织和调用方案
- 对泛型编程中泛型类型的一些理解
- Linux内核分析— —扒开系统调用的三层皮(上)
- Xcode免证书打包ipa
- 使用Gitlab一键安装包后的日常备份恢复与迁移
- 二维树状数组模板(1892)
- c——I/O Multiplexing笔记
- 希尔排序
- R语言获取历史股票数据