题意:

给出一张 nnn 个点 n+1n+1n+1 条边的无向图,你可以选择一些边(至少一条)删除。

分析:

一张n个点图,至少n-1条边才能保证联通

所以可以知道每次可以删去1条边或者两条边

一开始看了题解,我搞不出来【每次删去1条或者2条】

T^T就是那么弱,妈的

然后判断是否联通,DFS联通图可以,但是好麻烦的

所以想到判断一个集合,用并查集,妥妥的

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <math.h>
#include <queue>
#include <stack>
using namespace std;
#define INF 0x3f3f3f
#define pi acos(-1.0)
#define N 100010
#define LL long long
#define mm 1000000007
int pre[110];
int n;
struct asd{
int a,b;
};
asd q[110]; int Find(int x)
{
int r=x;
while(pre[r]!=r)
{
r=pre[r];
}
int i,j;
i=x;
while(pre[i]!=r)
{
j=pre[i];
pre[i]=r;
i=j;
}
return r;
} int FUCK(int x,int y)
{
for(int i=1;i<=n;i++)
pre[i]=i;
for(int i=1;i<=n+1;i++) //遍历的是点--点(边)哟
{
if(i==x||i==y) //去边
continue;
int aa=Find(q[i].a);
int bb=Find(q[i].b); if(aa!=bb)
{
pre[aa]=bb;
}
}
int ant=0;
for(int i=1;i<=n;i++)
{
if(pre[i]==i)
{
ant+=1;
}
}
if(ant==1)
return 1;
return 0;
} int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(int i=1;i<=n+1;i++)
{
scanf("%d%d",&q[i].a,&q[i].b); //输进去的是点--点(边)
}
int ans=0;
for(int i=1;i<=n+1;i++)
{
for(int j=i;j<=n+1;j++)
{
if(FUCK(i,j))
ans+=1;
}
}
printf("%d\n",ans);
}
return 0;
}

最新文章

  1. 不懂指针就不要说自己学过C语言!
  2. sc7731 Android 5.1 LCD驱动简明笔记之三
  3. P0口上拉电阻选择
  4. H5 video跨域问题
  5. rsync (windows 服务端,linux客户端)将windows上的数据同步到linux服务器,反之也可
  6. Nginx学习——Nginx启动、停止、重启和信号控制以及平滑升级
  7. ConcurrentHashMap\HashMap put操作时key为什么要rehash
  8. Django_xamin注册model错误
  9. 查询Date时时间查询不出来
  10. Linux下的MySQL5.7.14启动方法
  11. Docker搭建ElasticSearch+Redis+Logstash+Filebeat日志分析系统
  12. SkylineGlobe 7.0.1 &amp; 7.0.2版本Web开发 如何实现土方量计算
  13. 平衡树简单教程及模板(splay, 替罪羊树, 非旋treap)
  14. oo第二次总结
  15. 20170506计划-----(基于python查询oracle语句)
  16. 洛谷---小L和小K的NOIP考后放松赛
  17. [转]ubuntu ssh登陆显示系统信息
  18. Spring自动扫描无法扫描jar包中bean的解决方法(转)
  19. 初识thinkphp(4)
  20. 经常遇到的http状态码

热门文章

  1. POJ 3928 Ping pong 树状数组模板题
  2. 【微信支付】分享一个失败的案例 跨域405(Method Not Allowed)问题 关于IM的一些思考与实践 基于WebSocketSharp 的IM 简单实现 【css3】旋转倒计时 【Html5】-- 塔台管制 H5情景意识 --飞机 谈谈转行
  3. stream_context_create()模拟POST/GET
  4. 斯坦福《机器学习》Lesson6感想———1、函数间隔和几何间隔
  5. 使用string实现一个用于储存那些太大而无法使用 long long 的数
  6. Java堆内存与栈内存对比
  7. android studio 非法字符: &amp;#39;\ufeff&amp;#39; 解决方式
  8. 利用NSMutableAttributedString实现label上字体大小颜色行间距的改变
  9. adb4robotium跨进程框架抛出InputStream cannot be null的异常的解决方案
  10. WPF数据验证(5)―― 错误模板