【zzulioj 1918 二分图】
来源:互联网 发布:剑侠情缘mac版 编辑:程序博客网 时间:2024/05/10 01:16
Description
晴天也来寻宝啦,有一个m层的宝塔,只能从第一层开始一层一层的往上走,每层都有一个门,你需要用钥匙来打开门才能继续走,现在晴天有n把钥匙,编号为0-n-1,然后他要开始寻宝了。没有特殊技能怎么好意思出来寻宝呢,他现在有两个天赋技能,他知道第i层的门可以用编号为a和b的钥匙打开(可能a等于b呦),然后他还可以在进入宝塔前把门的顺序任意调换一次,也就是说比如可以把m层原来的1 2 3 ..m,换为 m …3 2 1.晴天想知道他最多能拿到多少层的宝物。
Input
第一行一个整数t表示有多少组测试实例
每组数据第一行为两个整数n,m分别表示有多少个钥匙,有多少层。
接下来m行,每行两个数字x,y,第i行表示第i层的门可以用标号x或y的钥匙打开。
(n,m<=1000)
Output
输出一个整数表示最多可以上多少层。
Sample Input
1
3 4
0 1
0 1
0 1
1 2
Sample Output
3
昨天学的二分图,今天就用到了~~ 容器很好用呀~~
#include<cstdio>#include<vector>#include<cstring>using namespace std;vector <int> v[1011];int pa[1011];int vis[1011];int DFS(int x){ for(int i=0;i<v[x].size();i++) { int w=v[x][i]; if(!vis[w]){ vis[w]=1; if(pa[w]==-1 || DFS(pa[w])) { pa[w]=x; return 1; } } } return 0;}int main(){ int T,i; int N,M,a,b; scanf("%d",&T); while(T--) { scanf("%d%d",&N,&M); for(i=0;i<=N;i++) v[i].clear(); for(i=1;i<=M;i++) { scanf("%d%d",&a,&b); if(a!=b) { v[a].push_back(i); v[b].push_back(i); } else v[a].push_back(i); } memset(pa,-1,sizeof(pa)); int ans=0; for(i=0;i<N;i++) { memset(vis,0,sizeof(vis)); ans+=DFS(i); } printf("%d\n",ans); } return 0;}
0 0
- 【zzulioj 1918 二分图】
- ZZULIOJ 1918: G 【二分图匹配】
- 【zzuliOJ】1918 - 寻宝(二分图)
- zzulioj 1918 (二分图--最大匹配)
- zzulioj 1918 【二分最大匹配】
- zzuliOJ 1918:晴天寻宝之旅(二分图匹配)
- zzulioj-1918-G【匈牙利算法】【二分匹配】
- 【ZzuliOJ 1918】多校训练三 G (二分图最大匹配模板题)
- ZZULIOJ 1919: D【二分】
- 【zzulioj 1919 二分】
- zzulioj-1919-D【二分】
- 【zzulioj 1917 二分+vector】
- ZZULIOJ 1809: make pair【二分】
- 【zzuliOJ】1919 - 晴天分数字(二分)
- ZZULIOJ 1918 G
- zzuliOJ 1895: 985的0-1串难题 【二分】
- zzulioj-1912-小火山的爱情密码【二分】【尺取法】
- zzuliOJ 1919:分割序列(二分+限制条件判断)
- structs2的web.xml中分发器FilterDispatcher和StrutsPrepareAndExecuteFilter的区别
- warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
- swift 整个项目竖屏,某个页面横屏
- HackerRank: Sam and sub-strings
- Java中long和Long有什么区别(转)
- 【zzulioj 1918 二分图】
- Thread 线程(1)
- UVALive 7454 Parentheses
- vimrc文件迁移到别的机器报错
- css选择器
- MONGODB学习笔记一:入门
- 一般处理程序访问session
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 用JavaScript写一个类似于windows的气泡屏保效果