因为是第二遍,所以题目也没怎么看,然后一开始的思路就是如果每次输入两个点的时候判断是不是同一个集合,如果同一个就是No,然后就wa了,想想也是,然后瞄了一下题解,还要判连通…真是蠢死了…多个集合都想不到,然后搞好以后还是wa…这次是在想不通了…然后偷瞄了代码…草泥马只有“0,0”的时候是Yes,哎,就是漏洞百出的思路,这还是得多练啊。。。

#include<cstdio>
#include<queue>
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
typedef long long LL;
#define INF 0x3f3f3f3f
#define mod 1000000007
#define N 100010 int pre[N];
int n;
int flag;
int vis[N]; void init()
{
flag=0;
for(int i=1;i<=N;i++)
{
pre[i]=i;
vis[i]=0;
}
} int Find(int x)
{
int r;
r=x;
while(pre[r]!=r)
{
r=pre[r];
}
int i=x,j;
while(pre[i]!=r)
{
j=pre[i];
pre[i]=r;
i=j;
}
return r;
} void solve(int a,int b)
{
a=Find(a);
b=Find(b);
if(a==b)
{
flag=1;
return;
}
pre[a]=b;
} int main()
{
int m;
int T;
int a,b;
int Tmax,Tmin;
while(1)
{ Tmax=-1;
Tmin=N; init();
scanf("%d%d",&a,&b);
if(a==-1&&b==-1)
break;
if(a==0&&b==0)
{
printf("Yes\n");
continue;
}
Tmax=max(Tmax,max(a,b));
Tmin=min(Tmin,min(a,b));
vis[a]=vis[b]=1;
if(a==b)
flag=1;
pre[a]=b; while(scanf("%d%d",&a,&b))
{
if(!a&&!b)
break;
Tmax=max(Tmax,max(a,b));
Tmin=min(Tmin,min(a,b));
vis[a]=vis[b]=1;
solve(a,b);
} if(!flag)
{
for(int i=Tmin;i<=Tmax;i++)
{
if(pre[i]==i&&vis[i])
flag++;
}
if(flag==1)
puts("Yes");
else
puts("No");
}
else
puts("No");
}
return 0;
}

最新文章

  1. vs2012 发布web应用程序
  2. web.xml常用元素配置
  3. SQLServer2008默认服务配置
  4. URAL 1137 Bus Routes(欧拉回路路径)
  5. 查看用户的SQL执行历史
  6. iOS之走进精益编程01
  7. spring mvc 配置
  8. python mysqlDB
  9. python-base64编码与解码
  10. Flink资料(3)-- Flink一般架构和处理模型
  11. dumpbin
  12. HDU3257 Hello World!
  13. hive新特性reflect函数介绍
  14. PyQt5 api 帮助文档
  15. 09_java基础——this
  16. pycharm注册码(不断更新)
  17. Python(列表操作应用实战)方法二
  18. 【Clojure 基本知识】 ns宏的 指令(关键字) requrie的用法
  19. shell脚本之数组
  20. rpm方式安装MySQL5.1.73

热门文章

  1. C语言知识结构之二
  2. CodeForces 321A Ciel and Robot(数学模拟)
  3. 关于颜色(color、background)
  4. Task C# 多线程和异步模型 TPL模型 【C#】43. TPL基础——Task初步 22 C# 第十八章 TPL 并行编程 TPL 和传统 .NET 异步编程一 Task.Delay() 和 Thread.Sleep() 区别
  5. Java小日历
  6. 笔记整理--LibCurl开发
  7. 使用GitLab CI + Capistrano部署CakePHP应用程序
  8. android 中的常用组件
  9. ArrayDeque类的使用详解
  10. Linux时间子系统之四:定时器的引擎:clock_event_device【转】