X FZU - 2271(floyd)

FRM模型五:Brinson业绩归因 利用Brinson对基金组合业绩进行归因分析。 阅读详情

X

FZU - 2271

X is a fully prosperous country, especially known for its complicated transportation networks. But recently, for the sake of better controlling by the government, the president Fat Brother thinks it’s time to close some roads in order to make the transportation system more effective.

Country X has N cities, the cities are connected by some undirected roads and it’s possible to travel from one city to any other city by these roads. Now the president Fat Brother wants to know that how many roads can be closed at most such that the distance between any two cities in country X does not change. Note that the distance between city A and city B is the minimum total length of the roads you need to travel from A to B.


Input

The first line of the date is an integer T (1 <= T <= 50), which is the number of the text cases.

Then T cases follow, each case starts with two numbers N, M (1 <= N <= 100, 1 <= M <= 40000) which describe the number of the cities and the number of the roads in country X. Each case goes with M lines, each line consists of three integers x, y, s (1 <= x, y <= N, 1 <= s <= 10, x is not equal to y), which means that there is a road between city x and city y and the length of it is s. Note that there may be more than one roads between two cities.

Output

For each case, output the case number first, then output the number of the roads that could be closed. This number should be as large as possible.

See the sample input and output for more details.

Sample Input
2
2 3
1 2 1
1 2 1
1 2 2
3 3
1 2 1
2 3 1
1 3 1
Sample Output
Case 1: 2
Case 2: 0
对floyd算法进行稍加修改加几个判断即可
code:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int INF = 0x3f3f3f3f;
int n,m;
int G[200][200],vis[200][200],used[200][200];
int main(){
    int t,cas = 0;
    scanf("%d",&t);
    while(t--){
        scanf("%d%d",&n,&m);
        memset(vis,0,sizeof(vis));
        memset(G,INF,sizeof(G));
        memset(used,0,sizeof(used));
        for(int i = 1; i <= n; i++){
            G[i][i] = 0;
        }
        int ans = 0;
        for(int i = 0; i < m; i++){
            int u,v,d;
            scanf("%d%d%d",&u,&v,&d);
            G[u][v] = min(G[u][v],d);//存下最小的
            G[v][u] = min(G[v][u],d);
            if(vis[u][v]) ans++;//如果这两点间有了边多出来的都是要删除的
            vis[u][v] = vis[v][u] = 1;
        }
        //floyd
        for(int k = 1; k <= n; k++){
            for(int i = 1; i <= n; i++){
                for(int j = 1; j <= n; j++){
                    if(k != i && k != j && G[i][j] >= G[i][k] + G[k][j]){
                        //k!=i,k!=j是因为这样其中一个长度是0即G[i][i]或G[j][j]从自己到自己
                        //所以另一条边其实就是G[i][j]这条边本身,并不是松弛过来的,所以为了避免重复删边加上判断
                        //并且这里是>=号因为如果有相等的长度的边,除了本身外,也要删除
                        G[i][j] = G[i][k] + G[k][j];//更新
                        if(vis[i][j] && !used[i][j]){//如果这条边存在并且还没被删就删掉(标记)
                            used[i][j] = 1;
                            used[j][i] = 1;
                            ans++;
                        }
                    }
                }
            }
        }
        printf("Case %d: %d\n",++cas,ans);
    }
    return 0;
}




如何使用superpowers "这个 bug 帮我修一下" → 我会自动走 systematic-debugging → TDD → verify 流程。- "帮我添加一个登录功能" → 我会自动走 brainstorming → plan → TDD → verify 流程。只要任务有 1% 的可能性适用某个技能,我就会先调用它再行动。→ TDD(测试驱动开发)→ verification(验证)→ code review(代码审查)提出需求 → brainstorming(头脑风暴)→ writing-plans(编写计划) 阅读详情

相关推荐

LSCM最小二乘保角参数化

LSCM最小二乘保角参数化 最小二乘思想 已知一组点的数据(x,y) x x1x_1x1​ x2x_2x2​ x3x_3x3​ … xnx_nxn​ y y1y_1y1​ y2y_2y2​ y3y_3y3​ … yny_nyn​ 可以近似为线性关系 y=ax+by=ax+by=ax+b ,目标为确定常数 aaa , bbb ; 解法:找到 aaa , bbb ,使得所有 yiy_iyi​ 与 axi+bax_i+baxi​+b 偏差的平方和 Q=∑i=1n(yi−axi−b)2 Q=\s

weixin_49732532的博客 4252

【CCPC】The 2021 CCPC Weihai Onsite H

图论 #网络流 #最小割 #最短路。

Antonio915的博客 1068

PCB印刷电路缺陷检测实战:从数据集准备到模型训练全流程解析

本文详细解析了PCB缺陷检测从数据集准备到模型训练的全流程。重点介绍了PKU-Market-PCB数据集的特点与下载方法,并提供了数据格式转换、模型选择(如YOLOv8)与训练配置的实战代码。针对PCB小目标检测的难点,文章给出了数据分析和模型优化的具体策略,帮助读者构建高效的缺陷检测系统。

weixin_29065791的博客 547

FZU 2271 X (Floyd)(第七届福建省大学生程序设计竞赛)

XProblem Description X is a fully prosperous country, especially known for its complicated transportation networks. But recently, for the sake of better controlling by the government, the president Fa

Darkarts 1037

银河麒麟v10装Docker实战:在线离线安装与容器部署指南

容器技术作为现代软件交付的核心方式,通过将应用与依赖打包成镜像,实现了环境的一致性与快速部署。Docker作为最流行的容器引擎,其安装与配置是上云和国产化转型中的基础技能。在国产操作系统银河麒麟v10环境中,由于系统兼容性和网络环境的差异,Docker的部署需要特别注意在线与离线两种模式的选择。本文从基础概念出发,结合麒麟v10的实际环境,详细梳理了Docker引擎的安装、镜像加速、存储配置以及MySQL、Redis等常用容器的部署方法,并针对SELinux、cgroup驱动等常见问题给出了解决方案,帮助开

weixin_30431445的博客 145

微信小游戏CE修改实战:从入门到精通(附防作弊思路)

本文深入探讨微信小游戏的安全攻防实战,重点分析CE修改、反编译和重打包等安全风险。通过详细的内存修改案例和代码保护方案对比,提供从客户端到服务端的全方位防护策略,帮助开发者构建有效的防作弊体系。

m2n3b4v5c6的博客 1139

X FZU - 2271 (给出一个图,能删除至多多少边使得任意两点之间的最短路径不变)

X is a fully prosperous country, especially known for its complicated transportation networks. But recently, for the sake of better controlling by the government, the president Fat Brother thinks it’s...

obsorb_knowledge的博客 715

【Bluetooth蓝牙开发】十一、一文秒懂 | 超详细的Bluez交叉编译

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 3976

FZU - 2271 X 【floyd】

Problem 2271 XAccept: 290    Submit: 1158Time Limit: 1500 mSec    Memory Limit : 32768 KB Problem DescriptionX is a fully prosperous country, especially known for its complicated transportation networ...

哇-WA 的博客 324

【系统架构设计师】预测试卷一:综合知识(75道选择题)

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,架构风格反映领域中众多系统所共有的结构和 (48),强调对架构(49)的重用。 (48) A. 语义特性 B. 功能需求 C. 质量属性 D. 业务规则 (49) A. 分析 B. 设计 C.实现

数据知道的博客 7766

华为od 面试八股文_数据库_01_含答案

华为od 面试八股文_数据库_01_含答案

MISAYAONE的博客 2166

FZU Problem 2271 X(最短路)

Problem DescriptionX is a fully prosperous country, especially known for its complicated transportation networks. But recently, for the sake of better controlling by the government, the president Fat B

妍恐龙的博客....^~^眼熟我 827

单反相机物镜设计[DG-10]

REAR(要打在像面,操作数要找像面对应位置15):以透镜单位表示的真实光线径向坐标,波长由Wave定义,参见“Hx、Hy、Px和Py”。最小玻璃厚度最小不能小于semi-dia的1/10,要根据layout看有没有过厚过薄,反复调节。PROD:两个操作数的乘积(操作#1 X操作#2)。3x4就是57.3x0.41=23.5。拦光一般在第一面和最后一面操作,减少边缘无用光线。光阑面与镜面贴近,要调距离,同时设置光阑像差。后截距是指从镜头后表面到焦点的距离。CONS:弧度转为角度。镜头相互嵌入,有错误。

weixin_72050316的博客 600

FZU 2271 X Floyd

题目链接http://acm.fzu.edu.cn/problem.php?pid=2271题意给定一有重边的无向图,定义两点间的距离为它们的最短路距离,问最多可以删除几条边使图中点间距离不变。思路首先输入时即处理掉重边,然后Floyd处理,如果u与v是直接相连的,被中间节点k松弛,或者能够使之与u->v的距离相等,那么u->v这条边是多余的可以标记删除。具体操作看代码#include<cstdio

chen_minghui的博客 368

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Fzu 2271 X【Floyd】

Problem 2271 X Accept: 19    Submit: 80 Time Limit: 1500 mSec    Memory Limit : 32768 KB  Problem Description X is a fully prosperous country, especially known for its complicated transpor

mengxiang000000 557

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

[fzu2271]X(Floyd)

跑Floyd的时候,如果k能够更新(i,j),且(i,j)间有边,则可以砍掉的边数+1。要注意可能有重边,一开始建图的时候就要判。 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=110,inf=0x3f3f3f3f; int dis[N][N],pas[N][N],n,m,cnt,t; inline int read(){ int x=0

seeeagull 147

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

FZU - 2271—X(Floyd)

X is a fully prosperous country, especially known for its complicated transportation networks. But recently, for the sake of better controlling by the government, the president Fat Brother thinks it’s...

zitian246的博客 414

FZU 2271 X(Floyd)

Problem 2271 X Accept: 166    Submit: 584 Time Limit: 1500 mSec    Memory Limit : 32768 KB  Problem Description X is a fully prosperous country, especially known for its complicated transp

hch丶 439

FZU-2271 X(Floyd)

Problem 2271 X Accept: 303Submit: 1209Time Limit: 1500 mSecMemory Limit : 32768 KB Problem Description X is a fully prosperous country, especially known for its complicated tr...

weixin_30872867的博客 149

FZU - 2271 X (Floyd)

题意:给出n个点,m条边,在保持任意两点之间最短路径距离不变的情况下,最多可以去除多少边?思路:在输入数据的时候,可以去除一些边,因为我们只需要两个点之间距离最小的那条边,然后跑一遍Floyd算法,求出任意两点的最短路,如果两个点是直接相连,并且被松弛过,或者松弛之后的距离与两点直接相连的距离相等,我们就可以去除这条两点之间直接相连的边。#include&lt;stdio.h&gt; #inclu...

GYH0730的博客 396

FZU Problem 2271 X(Floyd)

X is a fully prosperous country, especially known for its complicated transportation networks. But recently, for the sake of better controlling by the government, the president Fat Brother thinks it’s

>*,< 399

2017年福建省赛 FZU - 2271 X(floyd)

死于看题,早就写完的,然后一直wa,后面找题解发现,输出竟然还有个case。。。 题意:给出n条路,问最多可以删除多少条路,并且要保证原本两个城市之间的距离不会变大。 解法:首先用两个数组graph和G把距离保存起来,重边就直接取最小的就行了。然后用G数据跑一遍floyd,记录一下哪些边是松弛过的。然后再跑一边,判断一下是否这里本身有边,如果有边,看看是否松弛过,如果松弛过,答案++。 其实

llzhh的博客 304

【Floyd最短路】第七届福建省赛 FZU Problem 2271 X

http://acm.fzu.edu.cn/problem.php?pid=2271 【题意】 给定一个n个点和m条边的无向连通图,问最多可以删去多少条边,使得每两个点之间的距离(最短路长度)不变。 【思路】 首先对于多重边可以只保留最短的边,剩下的都删去 跑一次Floyd,用vis数组记录哪些边可以被松弛(注意map[i][k]+map[k][j]==map[i][j]时,...

weixin_30740295的博客 148

第七届福建省赛 FZU 2267 X(floyd)

题意:给你n个城市,m条边,(n 思路:城市数量比较少,所以可以用floyd,每次松弛的时候i-j之间的边可以舍弃。注意细节比较多,重边得去掉,松 弛的时候如果没有两点之间没有直接边或者这条边已经去掉过,不能计数。 代码: #include #include #include using namespace std; const int maxn = 105; const

CillyB的博客 690

FZU Problem 2271 X(最短路)

Problem 2271 X Accept: 13    Submit: 62 Time Limit: 1500 mSec    Memory Limit : 32768 KB  Problem Description X is a fully prosperous country, especially known for its complicated transpor

MR CODER 385

FZU2271 X(弗洛伊德+思维)

题目链接:http://acm.fzu.edu.cn/problem.php?pid=2271 思路:除去两题水题以及那两题想偏了的数学期望题就这题能做…(越学越菜了。很容易想到floyd的做法,但当两点之间有路并且除他之外有一条最短路,本条路一定能除去这个思维点不好想。 Code: #include<stdio.h> #include<string.h> #include...

小胡同的诗 249
上一篇: Cutting Game FZU - 2268 (数学+二进制)
下一篇: Two Triangles FZU - 2270 (计算几何,叉积判断对称)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值