最大二分图hdu5091
2015-08-06 20:20
253 查看
今天的B题
我是想爆出来的,当时想的不错,但后来发现这样爆行不通
前面的*点就不是最优了
但是我环视要存起来
我是想爆出来的,当时想的不错,但后来发现这样爆行不通
前面的*点就不是最优了
但是我环视要存起来
#include<bits/stdc++.h> using namespace std; int n,m; char S[60][60]; int IDd[60][60]; int IDd2[60][60]; void dfs(int r,int c,int id) { // printf("r%d c%d\n",r,c); if(r<0||r>=n||c<0||c>=m) { return ; } if(IDd[r][c]>0 || S[r][c]=='#') { return ; } IDd[r][c]=id; dfs(r,c+1,id); dfs(r,c-1,id); dfs(r-1,c,id); dfs(r+1,c,id); } void FULL(int i,int j) { IDd2[i][j]=30000; int I=i,J=j; I--; while(I>=0){ if(IDd[I][J]==1) break; IDd2[I][J]=30000; I--; } I=i,J=j; I++; while(I<n){ if(IDd[I][J]==1) break; IDd2[I][J]=30000; I++; } I=i,J=j; J--; while(J>=0){ if(IDd[I][J]==1) break; IDd2[I][J]=30000; J--; } I=i,J=j; J++; while(J<=m){ if(IDd[I][J]==1) break; IDd2[I][J]=30000; J++; } } int main() { ios::sync_with_stdio(false); int cases; scanf("%d",&cases); while(cases--){ memset(IDd,0,sizeof(IDd)); memset(IDd2,0,sizeof(IDd2)); memset(S,0,sizeof(S)); scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%s",S[i]); int cnt=0; for(int i=0;i<n;i++) for(int j=0;j<m;j++){ if(S[i][j]=='#'){ IDd[i][j]=1; } } // for(int i=0;i<n;i++){ // for(int j=0;j<m;j++) // printf("%d ",IDd[i][j]); // printf("\n"); // } int minn=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ int get1=0; if(S[i][j]=='*'){ get1++; FULL(i,j); for(int i=0;i<n;i++){ for(int j=0;j<m;j++) printf("%d ",IDd2[i][j]); printf("\n"); } for(int k=0;k<n;k++) for(int l=0;l<m;l++){ if(S[k][l]=='*'&&IDd2[k][l]!=30000){ get1++; FULL(k,l); for(int i=0;i<n;i++){ for(int j=0;j<m;j++) printf("%d ",IDd2[i][j]); printf("\n"); } } } // for(int k=0;k<n;k++){ // for(int l=0;l<m;l++){ // printf("%d ",IDd2[k][l]); // } // printf("\n"); // } minn = max(get1,minn); memset(IDd2,0,sizeof(IDd2)); } } } printf("%d\n",minn); for(int i=0;i<n;i++){ for(int j=0;j<m;j++) printf("%d ",IDd2[i][j]); printf("\n"); } } /* 100 2 4 #*#o *o** */ return 0; } /**************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** **************************************************************************************************** ****************************************************************************************************/
相关文章推荐
- LeetCode(114) Flatten Binary Tree to Linked List
- JS学习第四天----可选的分号
- 10进制转化成其他进制
- 黑马程序员——java开发环境配置
- 虚拟机的安装和使用
- 驱动中以文件句柄形式调用其他驱动程序(同步调用)
- BizTalk Orchestration execute Flat file disassembler ReceivePipeline
- 贪心+优先队列 HDOJ 5360 Hiking
- hdu 1325 水题
- SQLServer 常用命令
- c++ 计蒜客冗余关系
- 开发文档收集
- Xml文件的相关操作
- 利用哈希值封死飞秋等客户端软件
- 用css样式画尖角
- 三目运算符的简单介绍
- Android ListView&异步加载的学习(三)——AsyncTask加载图片&运用Lru算法优化图片加载
- hdu5363 排列组合+快速幂
- C#生成随机数的三种方法
- HDU 4183--Pahom on Water【最大流dinic】