BFS模板

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、``173. 矩阵距离(acwing)
  • 二、5475 聚会


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、``173. 矩阵距离(acwing)

import java.io.*;
import java.util.*;
public class Main {static int N=1010;static int n,m;static char[][] a=new char[N][N];static int[][] b=new int[N][N];static Queue<int[]> queue=new LinkedList<>();static boolean[][] st=new boolean[N][N];static int[] dx={1,-1,0,0};static int[] dy={0,0,1,-1};static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer sth = new StreamTokenizer(br);static PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out));public static void main(String[] args) throws Exception {n=nextInt();m=nextInt();for (int i = 0; i <n; i++) {a[i]=br.readLine().toCharArray();for (int j = 0; j <m; j++) {if (a[i][j]=='1'){st[i][j]=true;queue.offer(new int[]{i,j});}}}int tmp=0;while (!queue.isEmpty()){int size=queue.size();while (size-->0){int[] curr=queue.poll();int x=curr[0];int y=curr[1];b[x][y]=tmp;for (int i = 0; i < 4; i++) {int newX=x+dx[i];int newY=y+dy[i];if (newX>=0&&newX<n&&newY>=0&&newY<m&&!st[newX][newY]){queue.offer(new int[]{newX,newY});st[newX][newY]=true;}}}tmp++;}for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {out.print(b[i][j]+" ");}out.println();}out.flush();}// 读入整形(一个)public static int nextInt() throws Exception {sth.nextToken();return (int) sth.nval; // nval 读入的是 double 类型}
}

二、5475 聚会

#include <bits/stdc++.h>using namespace std;
const int N = 100010, M = 2 * N;
int n, m, k, s;
int dist[N][101];
int h[N], e[M], ne[M], idx;
int q[N];void add(int a, int b) {e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;
}void bfs(vector<int> &begin, int c) {int hh = 0, tt = -1;for(int i = 1;i <= n; ++ i) dist[i][c] = 1e9;for(auto it: begin) {q[ ++ tt] = it;dist[it][c] = 0;}while(hh <= tt) {auto u = q[hh ++ ];for(int i = h[u]; ~i; i = ne[i]) {int j = e[i];if(dist[j][c] > dist[u][c] + 1) {dist[j][c] = dist[u][c] + 1;q[ ++ tt] = j;}}}
}void work(int u) {static int tmp[101];int cnt = 0;for(int i = 1;i <= k; ++ i) tmp[i] = dist[u][i];sort(tmp + 1, tmp + k + 1);int res = 0;for(int i = 1;i <= s; ++ i) res += tmp[i];printf("%d ", res);
}int main() {cin >> n >> m >> k >> s;    memset(h, -1, sizeof h);vector<int> a(n + 1);vector<vector<int>> color(k + 1);for(int i = 1;i <= n; ++ i) {scanf("%d", &a[i]);color[a[i]].push_back(i);}while(m -- ) {int u, v;scanf("%d%d", &u, &v);add(u, v), add(v, u);}for(int i = 1;i <= k; ++ i) {bfs(color[i], i);}for(int i = 1;i <= n; ++ i) work(i);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5年经验之谈 —— 总结自动化测试与性能测试的区别!

很多刚刚接触自动化测试和性能测试的同学感觉性能测试和自动化测试是没什么区别的&#xff0c;就像小编刚刚接触自动化测试和性能测试的时候一样&#xff0c;区别就是&#xff1a;自动化测试是一个用户在测试&#xff0c;而性能测试需要并发&#xff0c;需要设计各种场景。测试…

单目测距那些事儿(上) _ 从MobileEye谈起

单目测距那些事儿(上) | 从MobileEye谈起 全面专业的自动驾驶学习资料:链接 前言 在ADAS领域&#xff0c;有个功能叫自适应巡航控制(Adaptive Cruise Control, ACC)。 ACC是一种纵向距离控制&#xff0c;具体包括发现目标车辆、判断目标车辆所在路径、测量相对本车的距离和速…

Vulnhub靶机渗透:DC-7打靶记录

前言 自信自强&#xff0c;来自于不怕苦、不怕难的积淀。宝剑锋从磨砺出&#xff0c;梅花香自苦寒来&#xff1b;任何美好理想&#xff0c;都离不开筚路蓝缕、手胼足胝的艰苦奋斗&#xff01; 靶场介绍 DC-7是一个初中级的靶场&#xff0c;需要具备以下前置知识&#xff1a;…

0009、ts的类型断言

类型断言(Type Assertion)是 TypeScript 中的一种特性&#xff0c;允许开发者在某些情况下手动指定变量的类型。它的主要使用场景是在开发者明确知道某个值的类型&#xff0c;但 TypeScript 编译器无法自动推断出来时&#xff0c;用来告诉编译器该值的确切类型。 在 TypeScrip…

GPT能复制人类的决策和直觉吗?

GPT-3能否复制人类的决策和直觉&#xff1f; 近年来&#xff0c;像GPT-3这样的神经网络取得了显著进步&#xff0c;生成的文本几乎与人类写作内容难以区分。令人惊讶的是&#xff0c;GPT-3在解决数学问题和编程任务方面也表现出色。这一显著进步引发了一个问题&#xff1a;GPT…

ES6中删除对象属性的方法

ES6中删除对象属性的方法 文章目录 ES6中删除对象属性的方法1. delete方法删除(单个)1. 删除方法12. 删除方法2 2. Reflect.deleteProperty删除(单个)3. 解构赋值删除(批量) 1. delete方法删除(单个) delete 用于删除对象的某个属性,如果没有指向这个属性的引用&#xff0c;那它…

计算机缺失msvcp110.dll如何修复,多种修复方法教给你

当电脑系统中msvcp110.dll文件丢失时&#xff0c;可能会对计算机的正常运行产生一系列显著的影响。msvcp110.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;这个动态链接库文件对于许多基于Windows的应用程序至关重要&#xff0c;尤其是一些使用C编译器…

Java小练--接收用户输入的数字,判断是否为质数;输出1-100内的所有质数

首先要先了解质数的概念&#xff1a; 一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,也称为素数 &#xff08;规定:1既不是质数,也不是余数&#xff09; 使用两个方法来解决这个问题&#xff1a; 方法一&#xff1a;暴力迭代法 import java.util.Scan…

jenkins 连接harbor 推送镜像

x509: certificate relies on legacy Common Name field, use SANs instead docker 登录harbor https 报错

深入了解提示词工程:原理、实践与应用

一、引言 在人工智能领域&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;大语言模型如GPT系列已经成为了重要的工具。然而&#xff0c;要充分发挥这些模型的潜力&#xff0c;我们需要掌握一种名为提示词工程&#xff08;Prompt Engineering&…

什么是CPQ?CPQ报价管理软件面向制造企业快速报价解决方案

什么是CPQ&#xff1f; CPQ生产配置报价系统是面向生产加工企业&#xff0c;为企业市场部门提供快速报价的辅助系统&#xff0c;和配置报价系统不同的是生产报价系统成本的组成并不是标准的产品成本&#xff0c;其成本可能包含原材料成本、原材料损耗、制造成本、包装成本、运…

YOLOv9改进策略:卷积魔改 | AKConv(可改变核卷积),即插即用的卷积,效果秒杀DSConv | 2023年11月最新发表

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a; YOLOv9如何魔改卷积进一步提升检测精度&#xff1f;AKConv 通过不规则卷积运算完成高效特征提取的过程&#xff0c;为卷积采样形状带来更多探索选择。 AKConv可以作为即插即用的卷积运算来替代卷积运算来提高…

【单点知识】基于实例讲解PyTorch中的ImageFolder类

文章目录 0. 前言1. ImageFolder功能2 基本使用方法及参数解析2.1 基本调用方式2.2 构造参数说明2.3 属性2.4 方法 3. PyTorch实例说明3.1 实例数据集3.2 实例说明 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的…

word excel ppt转pdf

1.excel转pdf package pers.wwz.study;import com.aspose.cells.PdfSaveOptions; import com.aspose.cells.Workbook;public class ExcelToPdf {public static void main(String[] args) throws Exception {// 加载Excel文件Workbook workbook new Workbook("D:\\tmp\\…

Git tag总结

文章目录 Git 标签标签&#xff08;Tag&#xff09;是什么创建标签轻量标签&#xff08;Lightweight Tag&#xff09;附注标签&#xff08;Annotated Tag&#xff09; 查看标签切换到标签基于标签创建新分支直接切换到标签 切换到标签的注意事项 Git 标签 标签&#xff08;Ta…

市场复盘总结 20240319

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 17% 最常用的…

小程序开发平台哪个比较好?

当我们谈论小程序时&#xff0c;我们往往会联想到微信、支付宝、百度等大厂的生态。但你是否想过&#xff0c;除了这些知名平台&#xff0c;还有哪些优秀的小程序开发平台呢&#xff1f;在这篇文章中&#xff0c;我们将一探究竟。 小程序开发平台的优劣&#xff0c;通常取决于…

Unity发布webgl设置占满浏览器运行

Unity发布webgl设置占满浏览器运行 Unity发布webgl的时候index.html的模板文件 模板文件路径&#xff0c;根据自己的需求修改。 C:\Program Files\Unity\Hub\Editor\2021.1.18f1c1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates\Default再桌面新建一个t…

Transformer的前世今生 day04(ELMO

ELMO 前情回顾 NNLM模型&#xff1a;主要任务是在预测下一个词&#xff0c;副产品是词向量Word2Vec模型&#xff1a;主要任务是生成词向量 CBOW&#xff1a;训练目标是根据上下文预测目标词Skip-gram&#xff1a;训练目标是根据目标词预测上下文词 ELMO模型的流程 针对Wor…