【蓝桥杯】危险系数
来源:互联网 发布:手机音频编辑软件中文 编辑:程序博客网 时间:2024/05/11 20:39
#include<iostream>#include<cstring>#include<cstdio>using namespace std;struct node{int data;node *next;};node tab[1001];int vis[1001] = { 0 };int way[1001] = { 0 };int count[1001] = { 0 };int ans = 0;void insert(int n, int x);void init(int n);void dfs(int x, int y, int step);int fun(int n);int main() {int x, y, n, m, u, v;scanf("%d%d", &n, &m);init(n);for(int i = 0; i < m; i++) {scanf("%d%d", &u, &v);insert(u, v);insert(v, u);}scanf("%d%d", &x, &y);dfs(x, y, 0);int ret = fun(n);printf("%d", ret);return 0; } void insert(int n, int x) { //构造临接矩阵 node *p = &tab[n]; //取第n个点的地址 while(p->next != NULL) { //把指针挪到链尾, 插入新的结点 p = p->next;}//构造新的结点并插入 node *num = new node;p->next = num;num->data = x;num->next = NULL; }void init(int n) { //输入的初始化 for(int i = 1; i <= n; i++) {tab[i].data = i;tab[i].next = NULL;}}int fun(int n) {int res = 0;for(int i = 1; i <= n; i++) {if(count[i] == ans) { //如果这个点的通过次数和x,y一样, 那么这个点破坏以后那条路一定被破坏 res++; }}return (res - 2); //去除x, y两个点 }void dfs(int x, int y, int step) { //深搜从x到y的点 vis[x] = 1; //表示点x已经搜到 way[step] = x; //记录每一步走的哪个点 node *p = &tab[x];if(x == y) { ans++; //如果找到了x, 总数加1 for(int i = 0; i <= step; i++) {count[ way[i] ]++; //则第way[i]个点的路过次数+1 }return;}while((p = p->next) != NULL) { //当前数组元素的临界元素 没有遍历完 if( vis[p->data] != 1 ) {vis[p->data] = 1; //走过的点进行标记 dfs(p->data, y, step + 1); //深搜下一步 vis[p->data] = 0; //清除标记 } }}
0 0
- 【蓝桥杯】危险系数
- 蓝桥杯-危险系数
- 蓝桥杯PREV_12危险系数
- 蓝桥杯--危险系数
- 蓝桥杯 危险系数
- 蓝桥杯 危险系数
- 蓝桥杯 危险系数 DFS
- 蓝桥杯 危险系数
- 蓝桥杯 危险系数
- 蓝桥杯 危险系数
- 蓝桥杯-危险系数
- 蓝桥杯 历届试题 危险系数
- 蓝桥杯 历届试题 危险系数
- 蓝桥杯决赛之危险系数
- 危险系数
- 危险系数
- 危险系数
- 【蓝桥杯】危险系数-JAVA语言描述
- 图像处理职位面试题汇总(4)
- 容器vector
- rtlinitializeexceptionchain
- Android中ExpandableListView控件基本使用
- 关于commons-fileupload与struts2过滤器冲突的解决方法
- 【蓝桥杯】危险系数
- 大话设计模式-工厂方法模式(学习笔记)
- 2015考研之路
- 必看专业书籍目录
- 无权图的最小路径
- phonegap=html5+js+css+jquery+Jquery Mobile.使用listview,ajax做了一个通讯录。
- JavaScript HTML DOM 事件 onchange onmouseover onmouseout
- 7.2 例子,第三个
- 查看表结构 -- MySQL Desc指令相关