信与信封问题 SSL_1331(最大匹配)
2017-12-23 10:57
363 查看
Description
John先生晚上写了n封信,并相应地写了n个信封将信装好,准备寄出。但是,第二天John的儿子Small John将这n封信都拿出了信封。不幸的是,Small John无法将拿出的信正确地装回信封中了。
将Small John所提供的n封信依次编号为1,2,…,n;且n个信封也依次编号为1,2,…,n。假定Small John能提供一组信息:第i封信肯定不是装在信封j中。请编程帮助Small John,尽可能多地将信正确地装回信封。
Input
第一行是一个整数n(n≤100)。信和信封依次编号为1,2,…,n。
接下来的各行中每行有2个数i和j,表示第i封信肯定不是装在第j个信封中。文件最后一行是2个0,表示结束。
Output
输出的各行中每行有2个数i和j,表示第i封信肯定是装在第j个信封中。请按信的编号i从小到大顺序输出。若不能确定正确装入信封的任何信件,则输出“none”。
Sample Input
3
1 2
1 3
2 1
0 0
Sample Output
1 1
John先生晚上写了n封信,并相应地写了n个信封将信装好,准备寄出。但是,第二天John的儿子Small John将这n封信都拿出了信封。不幸的是,Small John无法将拿出的信正确地装回信封中了。
将Small John所提供的n封信依次编号为1,2,…,n;且n个信封也依次编号为1,2,…,n。假定Small John能提供一组信息:第i封信肯定不是装在信封j中。请编程帮助Small John,尽可能多地将信正确地装回信封。
Input
第一行是一个整数n(n≤100)。信和信封依次编号为1,2,…,n。
接下来的各行中每行有2个数i和j,表示第i封信肯定不是装在第j个信封中。文件最后一行是2个0,表示结束。
Output
输出的各行中每行有2个数i和j,表示第i封信肯定是装在第j个信封中。请按信的编号i从小到大顺序输出。若不能确定正确装入信封的任何信件,则输出“none”。
Sample Input
3
1 2
1 3
2 1
0 0
Sample Output
1 1
var link:array[0..101] of longint; cover:array[0..101] of boolean; map:array[0..101,0..101] of boolean; i,j,k,n,m,x,y:longint; ans:boolean; function find(i:longint):boolean; var k,q:longint; begin find:=true; for k:=1 to n do if (map[i,k]) and (not(cover[k])) then begin q:=link[k]; link[k]:=i; cover[k]:=true; if (q=0)or (find(q)) then exit; link[k]:=q; end; exit(false); end; begin readln(n); x:=1; y:=1; fillchar(map,sizeof(map),true); while (x<>0) and (y<>0) do begin readln(x,y); map[y,x]:=false; end; for i:=1 to n do begin fillchar(cover,sizeof(cover),false); find(i); end; for i:=1 to n do begin y:=link[i]; link[i]:=0; map[y,i]:=false; fillchar(cover,sizeof(cover),false); if not(find(y)) then begin link[i]:=y; writeln(i,' ',y); ans:=true; end; map[y,i]:=true; end; if ans=false then writeln('none'); end.
相关文章推荐
- (ssl1331)信与信封问题
- 信与信封问题 最大匹配
- 高维宇宙 ssl 2552 最大匹配
- 二分图最大匹配问题之匈牙利算法
- [luoguP2764] 最小路径覆盖问题(最大流 || 二分图最大匹配)
- hdu3829-Cat VS Dog(最大独立集,匹配问题)
- 二分图的最大匹配和最小点覆盖问题
- 二分图的最大匹配问题完整代码
- 一般图最大匹配问题-带花树开花算法
- 二分图最大匹配问题与匈牙利算法的核心思想
- [Medium]字符串最大匹配问题
- 二分图最大匹配问题之匈牙利算法
- Asteroids - poj 3041(二分图最大匹配问题)
- 正则-贪婪匹配(最大匹配) 和最小匹配的问题。
- 二分图最大匹配问题匈牙利算法
- 【学会就脱单算法】匈牙利算法之飞行员配对问题(二分图最大匹配)
- 火力网加强版(difficult) SSL_1124 (最大匹配)
- 二分图的最大匹配问题
- [题解] [网络流二十四题(三)] 最小路径覆盖问题(二分图最大匹配)
- [kuangbin带你飞]专题十 匹配问题 二分图最大权匹配