[CCPC 2023 北京市赛] 图 洛谷10048

embedded/2024/12/22 22:24:19/

洛谷10048

[CCPC 2023 北京市赛] 图

题目描述

给定一个 n n n 个点的无向正权完全图,请对于每一条边 ( a , b ) (a,b) (a,b),求出是否存在一个点对 ( x , y ) (x,y) (x,y) 使得 x → y x\rightarrow y xy 的所有最短路都经过 ( a , b ) (a,b) (a,b)

输入格式

第一行一个正整数 n ( 1 ≤ n ≤ 500 ) n (1 \le n \le 500) n(1n500) 表示图的点数。

接下来 n n n 行每行 n n n 个数,构成一个大小为 n × n n\times n n×n 的矩阵,第 i i i 行第 j j j 个数 a i , j ( 1 ≤ a i , j ≤ 1 0 6 ) a_{i,j}(1\leq a_{i,j}\leq 10^6) ai,j(1ai,j106) 表示 ( i , j ) (i,j) (i,j) 之间的边长度,特别地, a i , i = 0 a_{i,i} = 0 ai,i=0.

保证 a i , j = a j , i a_{i,j}=a_{j,i} ai,j=aj,i

输出格式

输出一个大小为 n n n 01 01 01 矩阵,其中第 i i i 行第 j j j 列为 1 1 1 表示边 ( i , j ) (i,j) (i,j) 满足题目中提出的要求, 0 0 0 表示不满足。

特别的,当 i = j i=j i=j 时输出 0 0 0

样例 #1

样例输入 #1

4
0 3 2 100
3 0 8 100
2 8 0 10
100 100 10 0

样例输出 #1

0110
1000
1001
0010
#include<bits/stdc++.h>
using namespace std;
const int N=505;
int n,a[N][N],dis[N][N];bool b[N][N];
int main() {scanf("%d",&n);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){scanf("%d",&dis[i][j]);a[i][j]=dis[i][j];}for(int k=1;k<=n;k++){for(int x=1;x<=n;x++){for(int y=1;y<=n;y++){if(x!=k&&y!=k){//int xky=a[x][k]+a[y][k];if(xky<a[x][y]){a[x][y]=xky;}else if(a[x][y]==xky){b[x][y]=1;}}}}}
//	for(int i=1;i<=n;i++){//!b[i][j]&
//		for(int j=1;j<=n;j++){
//			printf("%d ",a[i][j]);
//		}puts("");
//	}
//	for(int i=1;i<=n;i++){//!b[i][j]&
//		for(int j=1;j<=n;j++){
//			printf("%d ",dis[i][j]);
//		}puts("");
//	}for(int i=1;i<=n;i++){//for(int j=1;j<=n;j++)printf("%d",!b[i][j]&(dis[i][j]==a[i][j])&!(i==j));puts("");}
}
/*
4
0   3   2   100
3   0   8   100
2   8   0   10
100 100 10  0
4
0   3   2   8
3   0   8   100
2   8   0   10
8 100 10  0
*/

http://www.ppmy.cn/embedded/125990.html

相关文章

PyTorch安装

1.进入PyTorch官方页面https://pytorch.org/ 2.点击“Get started”&#xff0c;选择合适版本 3.复制代码安装 4.输入“y”继续运行 5.显示“done”安装成功

MySQL C/C++ 的 API

MySQL 提供了一个用于 C/C 的 API&#xff0c;称为 MySQL Connector/C。该 API 允许通过 C/C 程序与 MySQL 数据库进行交互。 函数名称参数返回值描述mysql_initMYSQL *mysqlMYSQL *初始化一个 MySQL 对象&#xff0c;用于连接 MySQL 服务器。mysql_real_connectMYSQL *mysql,…

JavaScript 命令模式实战:打造可撤销的操作命令

一. 前言 在前端开发中&#xff0c;命令模式&#xff08;Command Pattern&#xff09;作为一种行为型设计模式&#xff0c;可以帮助我们将请求封装成一个对象&#xff0c;从而实现调用对象和执行对象之间的解耦&#xff0c;方便扩展和修改。 本文将和大家分享 JavaScript 中的…

Linux操作系统小项目——实现《进程池》

文章目录 前言&#xff1a;代码实现&#xff1a;原理讲解&#xff1a;细节处理&#xff1a; 前言&#xff1a; 在前面的学习中&#xff0c;我们简单的了解了下进程之间的通信方式&#xff0c;目前我们只能知道父子进程的通信是通过匿名管道的方式进行通信的&#xff0c;这是因…

美团Java一面

美团Java一面 9.24一面&#xff0c;已经寄了 收到的第一个面试&#xff0c;表现很不好 spring bean生命周期 作用域&#xff08;忘完了&#xff09; 为什么用redis缓存 redis和数据库的缓存一致性问题 redis集群下缓存更新不一致问题 aop说一下 arraylist和linkedlist 数据库的…

Python国庆作业

01.使用for循环输出九九乘法表 #使用for循环输出九九乘法表 print("九九乘法表")for num1 in range(1,10):for num2 in range(1,num11):print(f"{num2}{num1}{num1*num2}",end"\t")print()02.使用for求出50~100的奇数和和偶数和 #使用for求出5…

【api连接ChatGPT的最简单方式】

通过api连接ChatGPT的最简单方式 建立client 其中base_url为代理&#xff0c;若连接官网可省略&#xff1b;配置环境变量 from openai import OpenAI client OpenAI(base_url"https://api.chatanywhere.tech/v1" )或给出api和base_url client OpenAI(api_key&…

【PostgreSQL】PG数据库表“膨胀”粗浅学习

文章目录 1 为什么需要关注表膨胀&#xff1f;2 如何确定是否发生了表膨胀&#xff1f;2.1 通过查询表的死亡元组占比情况来判断膨胀率2.1.1 指定数据库和表名2.1.2 查询数据库里面所有表的膨胀情况 3 膨胀的原理3.1 什么是膨胀&#xff1f;膨胀率&#xff1f;3.2 哪些数据库元…