Codevs1062路由选择
/* #include<iostream>
#include<cstdio>
#include<cstring>
#define MAXN 301
using namespace std;
int a1[MAXN*MAXN],a2[MAXN*MAXN],a3[MAXN*MAXN];
int n,ans1,ans2,ans3,g[MAXN][MAXN],max1,s,t,ss[MAXN][MAXN],tot,pre[MAXN*MAXN];
bool r[MAXN],b[MAXN];
int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<='') x=x*+ch-,ch=getchar();
return x*f;
}
void print()
{
printf("%d ",ans1);
for(int i=n;i>=;i--)
if(a1[i]) printf("%d ",a1[i]);
printf("\n");
printf("%d ",ans2);
for(int i=n;i>=;i--)
if(a2[i]) printf("%d ",a2[i]);
printf("\n");
printf("%d ",ans3);
for(int i=n;i>=;i--)
if(a3[i]) printf("%d ",a3[i]);
printf("\n");
}
void slove()
{
int sum=;int x=t;
if(tot<ans1)
{
if(a2[])
{
for(int i=;i<=n;i++)
a3[i]=a2[i];
ans3=ans2;
}
if(a1[])
{
for(int i=;i<=n;i++)
a2[i]=a1[i];
ans2=ans1;
}
ans1=tot;
memset(a1,,sizeof(a1));
while(x)
{
a1[++sum]=x;
x=pre[x];
}
return ;
}
else if(tot<ans2)
{
if(a2[])
{
for(int i=;i<=n;i++)
a3[i]=a2[i];
ans3=ans2;
}
ans2=tot;
memset(a2,,sizeof(a2));
while(x)
{
a2[++sum]=x;
x=pre[x];
}
return ;
}
else if(tot<ans3)
{
memset(a3,,sizeof(a3));
ans3=tot;
while(x)
{
a3[++sum]=x;
x=pre[x];
}
return ;
}
}
void dfs(int x)
{
if(x==t)
{
slove();
}
for(int i=;i<=n;i++)
if(g[x][i]&&!r[i]&&g[x][i]!=max1)
{
tot+=g[x][i];g[x][i]=;pre[i]=x;r[i]=true;
dfs(i);
tot-=ss[x][i];g[x][i]=ss[x][i];pre[i]=;r[i]=false;
}
}
int main()
{
ans1=ans2=ans3=1e8;
n=read();s=read();t=read();max1=read();
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
g[i][j]=read(),ss[i][j]=g[i][j];
r[s]=true;
dfs(s);
print();
}
Codevs1062路由选择的更多相关文章
- cisco路由基于策略的路由选择
cisco路由基于策略的路由选择 基于策略的路由选择是一种手段,通过它管理员可以在基于目的地的路由选择协议中实现偏离标准路由的路由选择.基于目的地的路由选择协议将根据到一个目的地的最短路径选择路由,基 ...
- TCP/IP协议原理与应用笔记23:路由选择模块 和 路由表的设计
1. 路由选择模块 和 路由表的设计 2. 路由选择算法(路由模块在路由表中查找算法) (1)用IP分组中的目的IP地址查找路由表,使用匹配表项的下一跳地址完成分组交付 (2)匹配条件: dIP &a ...
- TCP/IP协议原理与应用笔记22:静态和动态路由选择
1. 静态路由选择: Static routing 管理员手工设置 管理员手动更新 不能保证路由的一致性和及时性 管理性强 没有路由开销 小型.变化缓慢网络 2. 动态路由选择 Dynamic rou ...
- TCP/IP协议原理与应用笔记21:路由选择的方法
1. 路由选择的方法 (1)基本思想 不是收到IP分组后才能为其选路,而是预先获得所有的目的的路由(Routing Protocol) IP报文按预定的路由转发(route table) (2)预定路 ...
- TCP/IP协议原理与应用笔记19:IP分组的交付和路由选择
1. 引言: (1)互联网结构: 信息:IP分组(直接广播地址(Directed Broadcast Address),其指定了在一个特定网络中的"所有主机".) 节点:路由器.主 ...
- CODEVS 1062 路由选择
1062 路由选择 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在网络通信中,经常需要求最短路径.但完全用最短路径传 ...
- TCP/IP读书笔记(4) IPv4和IPv6 路由选择
TCP/IP读书笔记(4) IPv4和IPv6 路由选择 网络层是位于链路层之上,TCP/IP模型中网络层的核心协议是IP协议(Internet protocol). 目前主流的IP协议是IPv4(I ...
- IP网际协议 - IP首部,IP路由选择,子网掩码
IP首部 4个字节的32 bit值以下面的次序传输:首先是0-7 bit,其次8-15 bit,然后1 6-23 bit,最后是24~31 bit.这种传输次序称作big endian字节序.由于T ...
- s5-14 链路状态路由选择
为什么DV逐渐让位于LS? DV 站的不高,看得不远 完全相信邻居 LS 想办法站得高,看更远 多高.多远? 怎么做? 链路状态路由(Link State) 主要思想 发现 它的邻 ...
随机推荐
- java在线聊天项目1.1版 ——开启多个客户端,分别实现注册和登录功能,使用客户端与服务端信息request机制,重构线程,将单独的登录和注册线程合并
实现效果图: eclipse项目中初步整合之前的各个客户端和服务端的窗口与工具类,效果如下图: 已将注册服务器线程RegServer功能放到LoginServer中,使用客户端与服务端的request ...
- emoji等表情符号存mysql的方法
项目中需要存储用户信息(用户昵称有表情符号),自然就遇到了emoji等表情符号如何被mysql DB支持的问题 这里引用先行者博文:https://segmentfault.com/a/1190000 ...
- mysql delete 表无法用别名
delete from exam_paper_question_opt a WHERE a.OPTION_ID = 65630 and a.QUESTION_ID = 28656 AND a.EXAM ...
- 继上次编译openwrt之后,添加web界面
上编博客写了关于openwrt编译环境和编译一个默认配置的openwrt系统. 现在我正在做如何添加web界面.(hiwooya自带的luci web) 方法如下: 首先在编译环境中配置 make m ...
- Centos忘记密码解决方法
centos6.8忘记root密码解决方法 重启系统后出现GRUB界面在引导装载程序菜单上,用上下方向键选择你忘记密码的那个系统键入"e" 来进入编辑模式. 接下来你可以看到如下图 ...
- JavaScript正则表达式-反向引用
使用括号“()”进行分组,使子表达式(子模式)可以作为整体独立被修饰,子表达式所匹配的结果会被记录下来并可以单独被访问. /(a(b(cd){2})+)EF/ 则各引用分别对应: \1 对应(a(b ...
- Atrenta电话面试(C++研发工程师)
1.代码量是多少,你负责哪一块,工作量占%几,改进了什么 2.c++ 和 c 的 区别 3.list 和 vector 的 适用条件 4.hash_map 和 map 的 区别 , 使用h ...
- jQuery DOM 互转
jQuery对象与DOM对象是不一样的 通过一个简单的例子,简单区分下jQuery对象与DOM对象: <p id=”imooc”></p> 我们要获取页面上这个id为imooc ...
- 03006_Servlet简介
1.什么是Servlet (1)Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源: (2)Servlet的实质就是java代码 ...
- Knockout v3.4.0 中文版教程-7-计算监控-依赖跟踪如何工作
3.依赖跟踪如何工作 初学者不需要知道这一点,但更高级的开发人员将想知道为我们怎么实现KO自动跟踪依赖性和自动更新UI的正确部分... 它其实相当简单优雅,跟踪算法如下: 当你定义一个计算监控,KO立 ...