Codeforce 475 C. Kamal-ol-molk's Painting
来源:互联网 发布:虚拟gps定位软件 编辑:程序博客网 时间:2024/05/15 23:46
从最左上的点开始枚举长宽....
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;const int maxn=1100;const int INF=0x3f3f3f3f;char mp[maxn][maxn];int n,m,sum[maxn][maxn];int ans=INF;int area(int x1,int y1,int x2,int y2){return sum[x2][y2]-sum[x2][y1-1]-sum[x1-1][y2]+sum[x1-1][y1-1];}int dfs(int x,int y,int wx,int wy){if(area(x,y+1,x+wx-1,y+wy)==wx*wy) return wx+dfs(x,y+1,wx,wy);if(area(x+1,y,x+wx,y+wy-1)==wx*wy) return wy+dfs(x+1,y,wx,wy);return wx*wy;}int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%s",mp[i]+1);bool flag=false;int px=-1,py=-1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){int t=0;if(mp[i][j]=='X'){if(flag==false){flag=true; px=i; py=j;}t=1;}sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+t;}}int temp=py;for(;temp<=m;temp++) if(mp[px][temp]!='X') break;int leny=temp-py;int lenx;for(int i=px;i<=n;i++){if(mp[i][py]!='X') break;lenx=i-px+1;if(dfs(px,py,lenx,leny)==sum[n][m]){ans=min(ans,lenx*leny);}}temp=px;for(;temp<=n;temp++) if(mp[temp][py]!='X') break;lenx=temp-px;for(int i=py;i<=m;i++){if(mp[px][i]!='X') break;leny=i-py+1;if(dfs(px,py,lenx,leny)==sum[n][m]){ans=min(ans,lenx*leny);}}if(ans==INF) ans=-1;printf("%d\n",ans);return 0;}
1 0
- Codeforce 475 C. Kamal-ol-molk's Painting
- 【CODEFORCES】 C. Kamal-ol-molk's Painting
- Codeforces 475C Kamal-ol-molk's Painting 模拟
- CodeForces #Bayan# -- C Kamal-ol-molk's Painting 模拟
- CF Bayan 2015 Contest Warm Up B. Kamal-ol-molk's Painting
- codeforce 9C(Hexadecimal's Numbers)
- codeforce 9C Hexadecimal's Numbers
- Codeforce 9c Hexadecimal's Numbers
- CodeForce 538C Tourist's Notes(贪心 + 数学)
- CodeForce #319 div 2 C Vasya and Petya's Game
- codeforce 855C. Helga Hufflepuff's Cup 树形DP
- C - Cube painting
- 448C. Painting Fence
- C. Painting Fence codeforces
- codeforces C. Painting Fence
- ol
- ol
- Codeforce # C. Average Score
- PostgreSQL中国用户会DBA2000培训计划北京第一课笔记
- BeanUtils.copyProperties() 用法
- PostgreSQL中国用户会DBA2000培训计划北京第二课笔记
- Linux 上常见的 IO 基准测试工具比较dd/orion/iozone/bonnie++
- 博客自动生成目录功能--Jsoup分析H1标签
- Codeforce 475 C. Kamal-ol-molk's Painting
- MySQL性能优化的最佳20+条经验
- eclipse中OpenCV安装指南
- 关于myeclipse中启动项目(服务器为welogic10)报valid license.bea错误的问题解决方案
- MySQL方面不错的文章
- MySQL是否区分大小写
- mysql limit分页查询优化写法
- 计算机系统知识
- 安全科普:流量劫持能有多大危害?