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) 主要思想 发现 它的邻 ...
随机推荐
- Bootstrap 默认/标准按钮
Bootstrap 默认/标准按钮 <!DOCTYPE html><html><head><meta http-equiv="Content-Typ ...
- 简单的Redis数据迁移
dump迁移 1.安装redis-dump工具 sudo apt-get install ruby rubygems ruby-devel -y gem sources --add http://ge ...
- django第9天(多表操作)
django第9天 models类 class Book(Model): id = AutoField(primary_key=True) name = CharField(max_length=20 ...
- hdu 5437
Alisha’s Party Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- Java中TreeMap集合讲解
1.TreeSet介绍 TreeSet是一个有序集合,可以以任意顺序将元素插入到集合中,在对集合进行遍历的时候,每个元素将自动按照排序后的顺序呈现.底层使用的是二叉树(更具体点是红黑树)实现,对于元素 ...
- centos 服务器配置
安装防火墙 安装Apache 安装MySQL 安装PHP 安装JDK 安装Tomcat 服务器上搭建Apache +MySQL+PHP +JDK +Tomcat环境,用的是Linux Centos7. ...
- iOS WKWebView
Webkit 是 iOS 8.0 后提供的新的框架,组件WKWebView比较UIWebView 速度更快.占用内存更少了,可支持性更多 WKWebView可通过KVO监听属性 title.estim ...
- HDU 3879 Base Station
Base Station Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged on HDU. Original I ...
- BNUOJ 1055 走迷宫2
走迷宫2 Time Limit: 1000ms Memory Limit: 65535KB 64-bit integer IO format: %lld Java class name: ...
- E. A Magic Lamp
E. A Magic Lamp Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO ...