HDU 4034 Graph The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest

PHP资料(精华) 福利来了,PHP爱好者们!国外程序员ziadoz 在Github上收集整理了PHP的各种资源,内容包括模板、框架、数据库、安全等方面的库和工具。这篇文章,PHP100汇总了这些PHP资源,供各位PHP学习者和程序员参考。废话不多说,下面就是详细的资料列表 立即下载
 

Graph

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)
Total Submission(s): 26 Accepted Submission(s): 14


Problem Description
Everyone knows how to calculate the shortest path in a directed graph. In fact, the opposite problem is also easy. Given the length of shortest path between each pair of vertexes, can you find the original graph?

Input
The first line is the test case number T (T ≤ 100).
First line of each case is an integer N (1 ≤ N ≤ 100), the number of vertexes.
Following N lines each contains N integers. All these integers are less than 1000000.
The jth integer of ith line is the shortest path from vertex i to j.
The ith element of ith line is always 0. Other elements are all positive.

Output
For each case, you should output “Case k: ” first, where k indicates the case number and counts from one. Then one integer, the minimum possible edge number in original graph. Output “impossible” if such graph doesn't exist.


Sample Input
3
3
0 1 1
1 0 1
1 1 0
3
0 1 3
4 0 2
7 3 0
3
0 1 4
1 0 2
4 2 0
Sample Output
Case 1: 6
Case 2: 4
Case 3: impossible
Source

Recommend
lcy
 
统计一下一条最短路由另外两条最短路构成的数量。
代码:
#include<cstdio>
#include<cstring>

int t,tt,n,a[105][105];
int solve()
{
	int i,j,k,m=0,f[105][105]={0};
	for(k=0;k<n;k++)
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				if(i!=j&&i!=k&&k!=j)
				{
					if(a[i][j]==a[i][k]+a[k][j]&&!f[i][j])
					{
						f[i][j]=1;
						m++;
					}
					if(a[i][j]>a[i][k]+a[k][j])
						return -1;
				}
	return m;
}
int main()
{
	scanf("%d",&t);
	while(t--)
	{
		int i,j,k;
		scanf("%d",&n);
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				scanf("%d",&a[i][j]);
		printf("Case %d: ",++tt);
		if((k=solve())==-1)
			puts("impossible");
		else
			printf("%d\n",n*(n-1)-k);
	}
}

C语言jpg转换成bmp格式代码 c语言 jpg转换bmp格式 不用任何库 无错误 正确运行 c语言 jpg转换bmp格式 不用任何库 无错误 正确运行 c语言 jpg转换bmp格式 不用任何库 无错误 正确运行 立即下载

相关推荐

计算机组成原理课程设计(利用COP2000设计新的指令系统并实现乘除法)

计算机组成原理课程设计,利用COP2000设计新的指令系统并实现乘除法

数据结构期末题

最小边数最短路。最短路可能有多条,边数最少的最短路径称为最小边数最短路。在非负权图上求顶点v到顶点w的最小边数最短路。 在这里插入代码片 一颗二叉树以链接的形式存储,求二叉树中从根结点到叶结点的一条路径长度等于树的高度的路径,若这样的路径存在多条,则输出路径终点(叶结点)在最左的一条。 typedef struct node { int data; struct node *left,*right; }*Tree; int maxlen=0; Tree maxpath[maxsize]; int le

weixin_43911559的博客 1108

Haskell-找出有向图的所有最短路-11-06-29

利用Haskell语言找出有向图的所有最短路. 根据Paul的要求,只能实现他定义的函数.函数的参数什么都不能修改. 实现后发现,确实他的那个思路写起来确实少了很多代码 http://itee.uq.edu.au/~paul/

hdu 1541 树状数组版)——咯咯

<br />/*树状数组版*/ #include<stdio.h> #include<string.h> #define L 32005 #define N 15005 int tree[L]; int count[N]; int n; int lowbit(int x) { return x & (x ^ (x-1)); } int get_sum(int k) { int sum = 0; while(k >=1){ sum += tree

☆零☆——坚信!!有一天我将不再是零---- 587

一种基于最少边数的最短路径算法

确定两点之间最短路径,通常要求该路径满足两点之间的权之和最小。为此采用层次遍历图的思想,设计了一种新的结构存放路径选择信息,找到一种确定这种最短路径的算法,并给出了算法描述以及实例。

机器人学习-matlab四足机器人控制仿真

《机器人学,机器视觉与控制》学习笔记 使用工具箱版本9.10 题目与解决思路: 【1】. 通过减少复位期间的抬腿高度来缩短复位的轨迹 Z轴向下,为了减小复位器件的抬腿高度,应当缩小△Z,故可以将示例程序中zu值调大。 【2】. 增加腿的步幅 腿的步幅可由改变x方向上腿前进和后退运动的极限来达到,令xf = 7; xb = -xf;即可。 ...

weixin_44609769的博客 5538

考研算法题:最短边数最短路

题目: 代码1: #include <iostream> #include <cstring> #include <queue> #include <algorithm> using namespace std; const int N=1e6+5; int n,m; int h[N],e[N],ne[N],w[N],idx; int dist[N],cnt[N]; bool st[N]; void add(int a,int b,int c){ e[id

Alanrookie的博客 895

DeepSeek的训练与优化流程

DeepSeek的训练体系不仅追求极致的计算效率,更注重将物理规律、人类知识、安全伦理深度融入训练过程,其"效率-安全-可解释性"三角平衡的设计理念,为行业提供了重要参考范式。

m0_56896669的博客 1433

hdu 1075 What Are You Talking About 字典树(静态版)

HDU1075 -------千万别让不开心的事影响了自己正常的生活,今天遇到了尴尬的事情,郁闷了一晚上没看书,就只是快要熄灯了昨晚我的每日一水题          《What Are You Talking About》看起来感觉好复杂的样子,一看

Fleargwe 1158

高通Camera HAL3调试实战:如何用camxoverridesettings.txt高效抓取日志与dump图像数据

本文深入探讨了高通Camera HAL3调试中camxoverridesettings.txt文件的高效应用,重点介绍了如何通过该文件精准控制日志输出级别与dump图像数据,帮助开发者快速定位移动影像系统中的问题。文章详细解析了日志分级配置、图像数据捕获技巧及典型问题排查流程,为高通Camera HAL3项目开发提供了实用技术点。

weixin_30315905的博客 861

【信息学奥赛一本通】1215:迷宫(bfs版)

同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。每组测试数据的第1行是一个正整数n(1≤n≤100),表示迷宫的规模是n×n的。接下来是一个n×n的矩阵,矩阵中的元素为‘再接下来一行是4个整数ha,la,hb,lb,描述A处在第ha行, 第la列,B处在第hb行, 第lb列。一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n×n的格点组成,每个格点只有2种状态,.

chu_xiaojie的博客 944

The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest题解

Hdu4034 Graph 题目大意:一个n×n的图,(i,j)表示从第i个点到第j个点的最短路径,求原来的图最小的边数是多少? 题目解析:任意两点(i,j)的最短路不能超过从(i,k)->(k,j)所有路径之和,如果相等这样的边(i,j)可要可不要(即失效) 乍一看没思路,分析样例很容易发现问题关键,枚举一条最短路,判断是否有其他两条最短路之和与之相等。 坑点:1.(i,j)(i,k)(

Hacker_vision 986

实现高精度卷积混响--MATLAB仿真篇

一、前言 之前在STM32F407上现实了直播声卡,实现的经典Schroeder混响模型和Moorer混响模型,得到不错效果。后来得知卷积混响最为真实地表现空间的特性,所以也就尝试在MCU上实现一个高精度的卷积混响(卷积点数为32768),目前MCU出来的混响效果算得上一流水准,本人也在计划在ADI的21489或者SC584上更高精度的卷积混响。 二、卷积方式 1、conv1是使用MATLAB自带卷积函数conv 2、conv2和conv3是改进后卷积过程,具有减少运算量特点,方便嵌入式移植 clear;

Six44的博客 5073

hdoj2018--母牛故事

hdu-2018 这个题不是每个牛都是第四年生牛的,最初始的那头牛,是每五年生一次小牛。。 纯递归代码: #include #include #include #include #include using namespace std; int grow_cow2(int year) { if (year < 4) return year; else

Fleargwe 798

告别时钟树平衡噩梦:在Innovus中巧妙设置stop/ignore pin来优化分段时钟网络

本文深入探讨了在Innovus工具中利用stop/ignore pin优化分段时钟树网络的高阶技巧。针对数字IC后端设计中的时钟树平衡难题,详细解析了特殊引脚属性的战略应用场景和配置方法,帮助工程师有效解决SoC设计中复杂的时钟结构问题,显著提升时序收敛效率。

weixin_30836759的博客 286

【AI智能体】Claude Code 核心记忆文件 CLAUDE.md实战操作详解

Claude Code 核心记忆文件 CLAUDE.md实战操作详解

congge 5456

母牛的故事

Description 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0< n n=0表示输入数据的结束,不做处理。 Output 对于每个测试实例,输出在第n年的时候母牛的数量。 每个输出占一行。 Sample Input 2 4 5

l769255844的博客 400

基于深度学习DNN LSTM网络的光伏发电量预测 完整代码数据 可直接运行

基于深度学习DNN LSTM网络的光伏发电量预测 完整代码数据 可直接运行

2079

Dijkstra计算最短路径条数,寻找边数最少的最短路

进行动态更新最短路径时要进行两种判断,即 < 和 ==

策马奔腾向前冲 3199

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

深入浅出通信原理6

对模拟信源来讲,信源编码的过程包括模/数转换和压缩编码

foolish的博客 2265

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

2011 ACM/ICPC Chengdu Regional Preliminary 出题报告

先说对不起! 非常非常对不起大家,1008出了那么大的事故! 然后简单写一下出题报告,这次出题之前,我们定的原则就是经历不考模板题,多考一些思维题,最后基本做到了这点。另外在不透露题意的前提下,尽量把样例给强一点,这样让OJ的压力小一些,其实题目加上去以后,觉得有些题目的

魔神翼 1033

hdu 4038 Stone The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest

在网友的提示之下,我终于AC了!唉,好惨呀!比赛快结束时,才有了一丁点的想法!唉! 贴个代码,请指教!! 尽量多的3。对于负数,当有偶数个负数时,不必管它,若有奇数个负数,则将最大的负数尽量变为0,接着是使所有的0变为1,接着使所有的1变为2,接着使所有的2变为3。 最后将剩余的M变为3的X次方,此时M=M%3。若M=2,则要添加一个2,若是1,则要将正数中的最小数增加1,之后求积即可! ...

weixin_33695082的博客 154

最短路算法总结(超详细~)

文章目录最短路算法框架朴素Dijkstra算法堆优化版Dijkstra算法 最短路算法框架 最短路有五种算法,分别适用不同的情况。 单源最短路: 求一个点到其他点的最短路 多源最短路: 求任意两个点的最短路 稠密图用邻接矩阵存,稀疏图用邻接表存储。 稠密图: m 和 n2 一个级别 稀疏图: m 和 n 一个级别 朴素Dijkstra算法 Dijkstra算法是通过 n 次循环来确定 n 个点...

wmy0217_的博客 4万+

POJ 1797 最短路变形所有路径最小边的最大值

题意:卡车从路上经过,给出顶点 n , 边数 m,然后是a点到b点的权值w(a到b路段的承重),求卡车最重的重量是多少可以从上面经过。 思路:求所有路径中的最小的边的最大值。可以用迪杰斯特拉算法,只需要将模板的路径更新那改一下,具体看代码注释。 注意:数组的初始化为-1或零m因为题意说的权值并不是距离,而是路的承重。 代码如下: #include<stdio.h> #incl...

HappyCode 578

最短路专题+求路径的最小边的最大值+dijkstra+dp

题目链接:https://vjudge.net/problem/11758/origin 题目大意:n点m条边, 求1到n所有通路的最小边的最大值。 思路:与上一题类似:不过每次是找到有效集的最大边进行更新。 #include &amp;lt;cstdio&amp;gt; #include &amp;lt;cstring&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;algorit

H_ang的博客 1664

边数限制最短路

从0到t,经过边数不超过10的最短路. sp[i][k]代表从0到i经过k条边的最短路长度。 #include #include #include #include #include using namespace std; #define INF 1<<20 #define MAXN 1010 #define MAXH 10 long d[MAXN][MAXN]; long sp[MAX

shenyuedong123的博客 745
上一篇: 2011 ACM/ICPC Chengdu Regional Preliminary 出题报告
下一篇: HDU 4038 Stone The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest
power721
博客等级 码龄18年 176粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值