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) 主要思想 发现 它的邻 ...
随机推荐
- xheditor的实例程序—类似word的编辑器
编辑器工具栏:类似word的编辑器 1.1.下载,兼容性 xhEditor官方网站地址为:http://xheditor.com/,打开右上角的免费下载 | 参数向导链接,即可找到最新版本的下载地址. ...
- Java中的线程--多线程面试题
到这里,基本上线程的并发中的知识点都是学到了,到了最后,还有三道面试题,从面试题中学习更加的加深一下,多线程中的知识点,如何在实际的问题中来解决多线程的问题,可以更好的从实际出发 一.面试题1 面试题 ...
- [LUOGU] P2196 挖地雷
题目背景 NOIp1996提高组第三题 题目描述 在一个地图上有N个地窖(N<=20),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径.当地窖及其连接的数据给出之后,某人可以从任一处 ...
- (64)zabbix正则表达式应用
概述 在前面的<zabbix low-level discovery>一文中有filter一项,用于从结果中筛选出你想要的结果,比如我们在filter中填入^ext|^reiserfs则表 ...
- json数据格式 与 for in
格式一: var json1={ name:'json', age:'23' }; json1.name='金毛'; 格式二: (比较安全) 属性名字里有空格或者有连字符‘-’或者有保留字例如‘fo ...
- C语言之链接库
链接库是windows的术语,但对于Linux来说,其概念是一样的.我们通常会把一些相似或相近功能的程序生成链接库,这样的好处是: 1)便于共享,开发软件时如需要相同功能时,不需要将大量重复的代码整合 ...
- Python包,json&pickle,time&datetime,random模块
补充内容: 解决模块循环导入的两种方法:(不得已而为之,表示程序结构不够严谨) 将导入模块语句放在文件最下方 保证语句导入之前函数内代码能够被执行 将导入语句放进函数体内 使其不影响整个函数的运行 包 ...
- Java包(package)详解
java包的作用是为了区别类名的命名空间 1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用.. 2.如同文件夹一样,包也采用了树形目录的存储方式.同一个包中的类名字是不同的,不同的包 ...
- HDU 4280 Island Transport
Island Transport Time Limit: 10000ms Memory Limit: 65536KB This problem will be judged on HDU. Origi ...
- Codeforces Round #417 (Div. 2) 花式被虐
A. Sagheer and Crossroads time limit per test 1 second memory limit per test 256 megabytes input sta ...