CF 602C The Two Routes(dij+邻接矩阵)
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<string>
#include<cstdlib>
#include<vector>
#include<stack>
#include<map>
using namespace std;
typedef long long ll; const int INF=10e8;
const int MAXN=410; int k,minn;
int lc[MAXN],c1[MAXN][MAXN],c2[MAXN][MAXN];
bool vis[MAXN]; int dij(int n,int c[][MAXN])
{
memset(vis,0,sizeof(vis));
for(int i=1;i<=n;i++)
lc[i]=c[1][i];
vis[1]=1; for(int j=1;j<=n;j++)
{
k=-1,minn=INF;
for(int i=1;i<=n;i++)
{
if(!vis[i]&&minn>lc[i])
{
minn=lc[i];
k=i;
}
}
if(k==-1) break;
vis[k]=1;
for(int i=1;i<=n;i++)
if(!vis[i]&&lc[i]>lc[k]+c[k][i])
lc[i]=lc[k]+c[k][i];
}
if(lc[n]==INF)
lc[n]=-1;
return lc[n];
} int main()
{
int n,m;
scanf("%d%d",&n,&m);
int flag=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)
{
c1[i][j]=c1[j][i]=0;
}
else
{
c1[i][j]=c1[j][i]=INF;
c2[i][j]=c2[j][i]=INF;
}
}
} for(int i=1;i<=m;i++)
{
int u,v;
scanf("%d%d",&u,&v);
c1[u][v]=c1[v][u]=1;
if((u==1&&v==n)||(u==n&&v==1))
flag=1;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(c1[i][j]==0||c1[i][j]==INF)
c2[i][j]=c2[j][i]=1;
}
}
if(m==n*(n-1)/2)
printf("-1\n");
else
{
if(flag==1)
printf("%d\n",dij(n,c2));
else if(flag==0)
printf("%d\n",dij(n,c1));
}
return 0;
}
CF 602C The Two Routes(dij+邻接矩阵)的更多相关文章
- POJ 2387 Til the Cows Come Home(dij+邻接矩阵)
( ̄▽ ̄)" //dijkstra算法: //这题建邻接矩阵的时候有坑(先读入边后读入点),还有重边: #include<iostream> #include<cstdio ...
- POJ 3268 Silver Cow Party(dij+邻接矩阵)
( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<algorithm> #include<cs ...
- POJ 1062 昂贵的聘礼(dij+邻接矩阵)
( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<cstring> #include<cstd ...
- HDU 1548 A strange lift(dij+邻接矩阵)
( ̄▽ ̄)" //dijkstra算法, //只是有效边(即能从i楼到j楼)的边权都为1(代表次数1): //关于能否到达目标楼层b,只需判断最终lowtime[b]是否等于INF即可. # ...
- CodeForces 602C The Two Routes(最短路)
Description In Absurdistan, there are n towns (numbered 1 through n) and m bidirectional railways. T ...
- L2-020. 功夫传人(dfs+vector 或者 邻接矩阵+dij+优先队列)
L2-020. 功夫传人 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一门武功能否传承久远并被发扬光大,是要看缘分的.一般来 ...
- 【50.00%】【codeforces 602C】The Two Routes
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- HDU2544 最短路dij
纯最短路. ///HDU 2544堆优化的最短路 #include <cstdio> #include <iostream> #include <sstream> ...
- 蒟蒻修养之cf橙名计划
因为太弱,蒟蒻我从来没有上过div1(这就是今年的最后愿望啊啊啊啊啊)已达成................打cf几乎每次都是fst...........所以我的cf成绩图出现了惊人了正弦函数图像.. ...
随机推荐
- SQL2008无法连接到.,及sa登录失败的总结
尊重别人的劳动成果,我是转载别人的: 本文转载自- 红黑联盟http://www.2cto.com/database/201203/123089.html 出现问题 : 标题: 连接到服务器----- ...
- Tiny6410之重定位代码到SDRAM
在上一章中,将代码重定位到了SRAM中,但是这样的做法作用不大.正确的做法的是将代码重定位到更大的主存中,即DRAM.Tiny6410的DRAM控制寄存器最多只能支持两个同一类型的芯片.每个芯片最多可 ...
- java操作mongodb——连接数据库
import com.mongodb.MongoClient; MongoClient mongoClient = new MongoClient(); 连接MongoDB实例,默认为localhos ...
- 自己封装的tc
封装弹窗 html <head> <script src="jquery.js"></script> <script src=" ...
- Sipdroid实现SIP(一): 注册
目录 注册: 预注册获取长号和用户注册 预注册返回长号 周期性用户注册 Receiver类概述 SipdroidEngine类概述 Sipdroid类中的用户注册: 注册代理和注册事务 注册代理类Re ...
- sqlmap基础使用
测试许多款 sql注入工具 最终还是发现 sqlmap 最为强悍 谁用谁知道!赶紧抛弃掉手上一大堆 sql 注入工具吧 : )测试环境:ubuntu 10.10 & windows 7(x64 ...
- LeetCode 280. Wiggle Sort C#
Given an unsorted array nums, reorder it in-place such that nums[0] <= nums[1] >= nums[2] < ...
- Introduction to Programming Contests (stanford)
http://web.stanford.edu/class/cs9http://web.stanford.edu/class/cs97si/7si/
- 如何在IIS8.5上面部署php
一.开启,设置win8.1自带的IIS 8.5组件服务器. 进入控制面板,选择程序和功能,打开或关闭Windows 功能,找到Internet information services,分别开启FTP ...
- mysql 报错:java.lang.OutOfMemoryError: Java heap space
原因:mysql会将查询到的记录全部发送到java端保存,而JVM中如果98%的时间是用于GC,且可用的Heap size 不足2%的时候将抛出此异常信息.JVM堆的设置是指java程序运行过程中JV ...