poj 1486 二分图的必须边
来源:互联网 发布:林振强 知乎 编辑:程序博客网 时间:2024/05/16 05:59
题意:
一些幻灯片,有一些数字在幻灯片里面,看能不能使得一个数字只能对应一张幻灯片.第一行代表有几张幻灯片.
给出这几张幻灯片的坐标,接着n行代表1-n个数字对应的坐标,然后要求你打印一个确定的使一个数字对应一张幻灯片.
如果不能对应输出none.
存在某些幻灯片只能由某个数字代表的话就按字典序打印出这些幻灯片和对应的数字.
#include<stdio.h>#include<string.h>#include<stack>#include<queue>#include<algorithm>using namespace std;#define ll long long#define me(a,b) memset(a,b,sizeof(a))/*struct node{ int u,next;}e[10000];*/struct node2{ int x1,x2,y1,y2;}g[30000];int book[30000],f[30000],map1[500][500];/*void add(int u,int v){ e[top].u=v; e[top].next=head[u]; head[u]=top++;}*/int n;int dfs(int x){ for(int i=0;i<n;i++) { if(!book[i]&&map1[x][i]) { book[i]=1; if(f[i]==-1||dfs(f[i])) { f[i]=x; return 1; } } } return 0;}int er(){ int ans=0; me(f,-1); for(int i=0;i<n;i++) { me(book,0); ans+=dfs(i); } return ans;}int main(){ int tt=0; while(~scanf("%d",&n)&&n) { tt++; for(int i=0;i<n;i++) { scanf("%d%d%d%d",&g[i].x1,&g[i].x2,&g[i].y1,&g[i].y2); } memset(map1,0,sizeof(map1)); for(int i=0;i<n;i++) { int x,y; scanf("%d%d",&x,&y); for(int j=0;j<n;j++) if(x>=g[j].x1&&x<=g[j].x2&&y>=g[j].y1&&y<=g[j].y2) { map1[j][i]=1; } } printf("Heap %d\n",tt); int flag=0; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(!map1[i][j]) continue; map1[i][j]=0; if(er()<n) { if(!flag) printf("(%c,%d)",i+'A',j+1); else printf(" (%c,%d)",i+'A',j+1); flag=1; } map1[i][j]=1; } } if(flag) { printf("\n\n"); } else printf("none\n\n"); }}
阅读全文
0 0
- poj 1486 二分图的必须边
- poj 1486(二分图匹配的必须边:枚举)
- POJ 1486 Sorting Slides 求二分图的必须边
- POJ 1486:二分图匹配的必须边
- poj 1486(二分图必须边)
- poj 1486 二分图最大匹配必须边
- POJ 1486 Sorting Slides(二分图必须边)
- 【完全二分匹配必须边】POJ 1486
- Poj 1486 Sorting Slides + FOJ1202 信与信封问题 (二分图的必须边)
- poj 1486(求二分图形成匹配的必须边)
- 转:二分图的必须边
- POJ 1486二分图的必要边
- 二分图必须边--poj1486
- poj1486 Sorting Slides 二分图匹配的必须边
- POJ1486_Sorting Slides_二分图匹配必须边
- POJ 3204 网络流的必须边
- POJ 1486 二分图的最大匹配(强化)
- PKU1486,ZJU1197:求出二分匹配图中的必须边;
- hive安装
- (算法分析Week7)Divide Two Integers[Medium]
- mycat1.6.5分片(按小时)
- IntelliJ IDEA添加额外的jar包
- redis cluster节点的添加与删除(2)
- poj 1486 二分图的必须边
- 操作系统学习(五)
- 年底啦,java后台面试题整理
- HDU
- Callable和Future、FutureTask的使用
- 如何从列表 <MatOfPoint> 转换为 MatOfPoint2f?
- 创建线程的第三种方式:实现Callable接口
- 关于libfreenect2遇到的-fPIC问题
- 深入理解java多态性