codeves1222

早知如此绊人心,何如当初莫相识。 早知如此绊人心,何如当初莫相识。     2022-09-07     655

关键词:

思路:先得到最大匹配,不为n,none,对于每个边,假如不可获缺,那么没有它一定无法完美匹配,对匹配的边依次删除,如果不能完美匹配就输出

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N=102;
 4 
 5 int a[N][N],vis[N];
 6 int c[N],d[N];
 7 int n;
 8 bool Find(int x){
 9     for(int i=1;i<=n;i++){
10         if(!a[x][i]&&!vis[i]){
11             vis[i]=1;
12             if(c[i]==0||Find(c[i])){
13                 c[i]=x;
14                 d[x]=i;return 1;
15             }
16         }
17     }
18     return 0;
19 }
20 
21 int main(){
22 
23     int x,y;
24     scanf("%d",&n);
25     while(scanf("%d%d",&x,&y)&&x&&y){
26         a[x][y]=1;
27     }
28     int all=0;
29     for(int i=1;i<=n;i++){
30         memset(vis,0,sizeof(vis));
31          if(Find(i)) all++;
32     }
33        
34     if(all!=n) {
35         cout<<"none"<<endl;
36     }
37     else {
38         int  t=0;
39         for(int i=1;i<=n;i++){
40             memset(vis,0,sizeof(vis));
41             int z=d[i];
42             a[i][z]=1;
43             c[z]=0;d[i]=0;
44             if(!Find(i)){
45                 cout<<i<<" "<<z<<endl;t=1;
46                 c[z]=i;d[i]=z;
47             }
48             a[i][z]=0;
49         }
50         if(!t) cout<<"none"<<endl;
51     }
52 }

 

codevs1222信与信封问题

1222信与信封问题  时间限制:1s 空间限制:128000KB 题目等级:钻石Diamond  题目描述 DescriptionJohn先生晚上写了n封信,并相应地写了n个信封将信装好,准备寄出。但是,第二天John的儿子Small John将这n封信... 查看详情

codevs1222信与信封的问题

二分图匹配。先匹配一次,一定是完美匹配。然后枚举每条边,去掉它,若是不能完美匹配,这条边就必须。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>#include<queue>#include<vect 查看详情

codevs1222信与信封的问题

题目描述 DescriptionJohn先生晚上写了n封信,并相应地写了n个信封将信装好,准备寄出。但是,第二天John的儿子Small John将这n封信都拿出了信封。不幸的是,Small John无法将拿出的信正确地装回信封中了。将Small John... 查看详情

codevs4189字典

二次联通门:codevs4189字典  /*codevs4189字典Trie树裸题用指针写的..*/#include<cstdio>#include<cstring>#include<cstdlib>voidread(int&now){now=0;registercharword=getchar();while(word<‘0‘ 查看详情

[bzoj4326][codevs4632][codevs5440][uoj#150][noip2015]运输计划

[BZOJ4326][codevs4632][codevs5440][UOJ#150][NOIP2015]运输计划试题描述公元2044年,人类进入了宇宙纪元。L国有 n 个星球,还有 n?1 条双向航道,每条航道建立在两个星球之间,这 n?1 条航道连通了 L 国的所有星... 查看详情

codevs1086栈

http://codevs.cn/problem/1086/ (题目链接)题意  给出1~n总共n个数,对它们进行入栈出栈操作,问一共有多少种不同的方案。Solution  找规律手玩前4个发现是卡特兰数,再见。代码//codevs1086#include<algorithm>#include<iostream>#i... 查看详情

codevs1106篝火晚会

http://codevs.cn/problem/1106/ (题目链接)题意  将1~n顺序排列的环改成另一个环,问n-不动点数。Solution  啊智障啦,不会做×_×  左转hzwer代码//codevs1106#include<algorithm>#include<iostream>#include<cstdlib># 查看详情

codevs2115数集分割

http://codevs.cn/problem/2115/ 1//<2115.cpp>-SunOct912:58:2320162//ThisfileismadebyYJinpeng,createdbyXuYike‘sblacktechnologyautomatically.3//Copyright(C)2016ChangJunHighSchool,Inc.4//Idon‘t 查看详情

codevs1080质数环

http://codevs.cn/problem/1031/不讲什么,预处理素数+搜索//<C.cpp>-SunOct912:58:232016//ThisfileismadebyYJinpeng,createdbyXuYike‘sblacktechnologyautomatically.//Copyright(C)2016ChangJunHighSchool,Inc.//Idon‘t 查看详情

codevs1052

题目地址:http://codevs.cn/problem/1053/分析:模拟代码:vars:string;a:array[‘a‘..‘z‘]oflongint;i,j,t,n:longint;k:char;d:array[1..100000]oflongint;functioncf(x:longint):boolean;vari,y:longint;beginy:=0;fori:=2totru 查看详情

codevs3289花匠

题目:codevs3289花匠链接:http://codevs.cn/problem/3289/ 这道题有点像最长上升序列,但这里不是上升,是最长“波浪”子序列。用动态规划可以解决,方程类似最长上升子序列:f[i]=max(f[j]) (1≤j≤i-1&&((f[j]%2=1&& A[j... 查看详情

codevs1296营业额统计

http://codevs.cn/problem/1296/ (题目链接)题意  给出一个序列,对于每一个数,找出之前与它相差最小的数,两者相减取绝对值加入答案。Solution  最近bzoj炸了,无奈只能上codevs刷题了。。好久没上过codevs了,实在是里面题目... 查看详情

codevs1814最长链

二次联通门: codevs1814最长链    /*codevs1814最长链树形DP当前点(LQZ)的最大价值由他的左儿子(HKD)和右儿子(SYL)的最大价值转移而来其余细节乱搞一下就可我还是水的很开心啦..*/#include<cstdio>#defineMax100080inlineintma... 查看详情

codevs1487大批整数排序

!!!CodeVS开发者有话说:        codevs自从换了评测机,新评测机的内存计算机制发生变化        计算内存的时候会包括栈空间swap空间      &nbs 查看详情

codevs哈希水题

1230多重hash练习一下,不用也可以////main.cpp//codeves1230////CreatedbyCandyon9/29/16.//Copyright©2016Candy.Allrightsreserved.//#include<iostream>#include<cstdio>#include<algorithm>#include& 查看详情

codevs1051接龙游戏

codevs1051接龙游戏http://codevs.cn/problem/1051/题目描述 Description给出了N个单词,已经按长度排好了序。如果某单词i是某单词j的前缀,i->j算一次接龙(两个相同的单词不能算接龙)。你的任务是:对于输入的单词,找出最长的龙。... 查看详情

codevs2491玉蟾宫

codevs2491玉蟾宫http://codevs.cn/problem/2491/题目描述 Description  有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。  这片土地被分成N*M个格子,每个格子里... 查看详情

codevs1170双栈排序

http://codevs.cn/problem/1170/ (题目链接)题意  给出一个初始序列,判断能否通过两个栈的入栈和出栈操作构造出一个有序序列。若可以,输出字典序最小的方案。Solution  还是想狙LCF才看的这道题,真的是很神啊。考场绝对... 查看详情