当前位置: 首页 > news >正文

手机微网站开发网站域名解析ip

手机微网站开发,网站域名解析ip,鞍钢建设集团网站,勒流网站建设制作OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。 现在根据传染病流调以及大数据分析&a…

OD统一考试(C卷)

分值: 100分

题解: Java / Python / C++

alt

题目描述

为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。

现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。

现在给定一组确诊人员编号(X1,X2,X3…Xn) 在所有人当中,找出哪些人需要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测)

需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。

例如:A是确诊病例,A和B有接触、B和C有接触 C和D有接触,D和E有接触。那么B、C、D、E都是需要进行核酸检测的。

输入描述

第一行为总人数N

第二行为确诊病例人员编号 (确证病例人员数量 < N) ,用逗号隔开

接下来N行,每一行有N个数字,用逗号隔开,其中第i行的第个j数字表名编号i是否与编号j接触过。0表示没有接触,1表示有接触

输出描述

输出需要做核酸检测的人数

补充说明

  • 人员编号从0开始
  • 0 < N < 100

示例1

输入:
5
1,2
1,1,0,1,0
1,1,0,0,0
0,0,1,0,1
1,0,0,1,0
0,0,1,0,1输出
3说明:
编号为1、2号的人员为确诊病例1号与0号有接触,0号与3号有接触,2号54号有接触。所以,需要做核酸检测的人是0号、3号、4号,总计3人要进行核酸检测。

题解

经典的连通问题,这里使用并查集的简单模板套用即可解决。

如果对并查集不会,可以通过 https://zhuanlan.zhihu.com/p/93647900 来学习。

Java

import java.util.Arrays;
import java.util.Scanner;/*** @author code5bug*/
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = Integer.parseInt(in.nextLine());// 确诊人员编号int[] confirm = Arrays.stream(in.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();// 使用并查集将所有确诊的人员合并成一组int start = confirm[0];UnionFind uf = new UnionFind(n);for (int i = 1; i < confirm.length; i++) {uf.merge(start, confirm[i]);}// 将所有有接触的人进行合并操作for (int i = 0; i < n; i++) {int[] row = Arrays.stream(in.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();for (int j = 0; j < row.length; j++) {if (row[j] == 1) {uf.merge(i, j);}}}int cnt = 0; // 已经确认的总人数for (int i = 0; i < n; i++) {if (uf.find(i) == uf.find(start)) cnt++;}// 输出, 这里排除了确诊病例自身不需要再做核酸检测人System.out.println(cnt - confirm.length);}
}class UnionFind {// father[2] = 3 表示元素2的父节点是3public int[] father;public UnionFind(int len) {father = new int[len + 1];for (int i = 0; i <= len; i++) {father[i] = i;}}// 查询 x 的根节点public int find(int x) {if (x < 0 || x >= father.length) {throw new RuntimeException("查询越界");}// 合并(路径压缩)return (x == father[x] ? x : (father[x] = find(father[x])));}// 合并节点, y 的根节点指向 x 的根节点public void merge(int x, int y) {int xRoot = find(x), yRoot = find(y);father[yRoot] = xRoot;}
}

Python

class UnionFind:def __init__(self, length):self.father = list(range(length + 1))def find(self, x):if not (0 <= x < len(self.father)):raise ValueError("查询越界")# 合并(路径压缩)if x != self.father[x]:self.father[x] = self.find(self.father[x])return self.father[x]def merge(self, x, y):x_root, y_root = self.find(x), self.find(y)self.father[y_root] = x_rootdef main():n = int(input())confirm = list(map(int, input().split()))# 使用并查集将所有确诊的人员合并成一组start = confirm[0]uf = UnionFind(n)for i in range(1, len(confirm)):uf.merge(start, confirm[i])# 将所有有接触的人进行合并操作for i in range(n):row = list(map(int, input().split()))for j in range(len(row)):if row[j] == 1:uf.merge(i, j)cnt = 0  # 已经确认的总人数for i in range(n):if uf.find(i) == uf.find(start):cnt += 1# 输出, 这里排除了确诊病例自身不需要再做核酸检测人print(cnt - len(confirm))if __name__ == "__main__":main()

C++

#include <iostream>
#include <vector>
#include <sstream>using namespace std;class UnionFind {
public:vector<int> father;UnionFind(int len) {father.resize(len + 1);for (int i = 0; i <= len; i++) {father[i] = i;}}int find(int x) {if (x < 0 || x >= father.size()) {throw out_of_range("查询越界");}return (x == father[x] ? x : (father[x] = find(father[x])));}void merge(int x, int y) {int xRoot = find(x), yRoot = find(y);father[yRoot] = xRoot;}
};int main() {int n;cin >> n;cin.ignore();  // 消耗掉换行符string confirmInput;getline(cin, confirmInput);stringstream confirmStream(confirmInput);vector<int> confirm;int confirmNum;while (confirmStream >> confirmNum) {confirm.push_back(confirmNum);if (confirmStream.peek() == ',') {confirmStream.ignore();}}int start = confirm[0];UnionFind uf(n);for (size_t i = 1; i < confirm.size(); i++) {uf.merge(start, confirm[i]);}for (int i = 0; i < n; i++) {string rowInput;getline(cin, rowInput);stringstream rowStream(rowInput);int contact;for (int j = 0; j < n; j++) {rowStream >> contact;if (contact == 1) {uf.merge(i, j);}if (rowStream.peek() == ',') {rowStream.ignore();}}}int cnt = 0;for (int i = 0; i < n; i++) {if (uf.find(i) == uf.find(start)) {cnt++;}}cout << cnt - confirm.size() << endl;return 0;
}

(并查集)相关练习题

题号题目难易
LeetCode 12021202. 交换字符串中的元素中等
LeetCode 17221722. 执行交换操作后的最小汉明距离中等
LeetCode 947947. 移除最多的同行或同列石头中等
LeetCode 924924. 尽量减少恶意软件的传播困难

‍❤️‍华为OD机试面试交流群每日真题分享): 加V时备注“华为od加群”

🙏整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏


文章转载自:
http://dinncoidli.knnc.cn
http://dinncocamel.knnc.cn
http://dinncointerior.knnc.cn
http://dinncopaleographer.knnc.cn
http://dinncoexoelectron.knnc.cn
http://dinncopurported.knnc.cn
http://dinncoironfisted.knnc.cn
http://dinncoexcelsior.knnc.cn
http://dinncovotable.knnc.cn
http://dinncodysteleology.knnc.cn
http://dinncokbar.knnc.cn
http://dinncopolyphone.knnc.cn
http://dinncomythographer.knnc.cn
http://dinncosetover.knnc.cn
http://dinncotrijugate.knnc.cn
http://dinncolowlands.knnc.cn
http://dinncopurchaseless.knnc.cn
http://dinncoheimlich.knnc.cn
http://dinncocondemnation.knnc.cn
http://dinncoblazing.knnc.cn
http://dinncounceasingly.knnc.cn
http://dinncoputrefy.knnc.cn
http://dinncocryptoclimate.knnc.cn
http://dinncobrushhook.knnc.cn
http://dinncoflippant.knnc.cn
http://dinncoimprovement.knnc.cn
http://dinncophotodegradable.knnc.cn
http://dinncolovingness.knnc.cn
http://dinncocoopery.knnc.cn
http://dinncoborah.knnc.cn
http://dinncodepot.knnc.cn
http://dinncotoque.knnc.cn
http://dinncoprotension.knnc.cn
http://dinncoappurtenance.knnc.cn
http://dinncoboy.knnc.cn
http://dinncoplosion.knnc.cn
http://dinncogouty.knnc.cn
http://dinncoacerous.knnc.cn
http://dinncofescue.knnc.cn
http://dinncospirituous.knnc.cn
http://dinncopractolol.knnc.cn
http://dinncosnooze.knnc.cn
http://dinncounsound.knnc.cn
http://dinncotangle.knnc.cn
http://dinncopaymaster.knnc.cn
http://dinncopragmatical.knnc.cn
http://dinncooverman.knnc.cn
http://dinncometempirical.knnc.cn
http://dinncocisterna.knnc.cn
http://dinncofescue.knnc.cn
http://dinncoloutrophoros.knnc.cn
http://dinncojoyfully.knnc.cn
http://dinncocatechist.knnc.cn
http://dinncobewilderment.knnc.cn
http://dinncoboudicca.knnc.cn
http://dinncoazine.knnc.cn
http://dinncodisharmonious.knnc.cn
http://dinncovilla.knnc.cn
http://dinncophilosophism.knnc.cn
http://dinncowhish.knnc.cn
http://dinncoeteocles.knnc.cn
http://dinncopatriotism.knnc.cn
http://dinncoreffo.knnc.cn
http://dinncononinflammable.knnc.cn
http://dinncoundersize.knnc.cn
http://dinncodividend.knnc.cn
http://dinncoflagfeather.knnc.cn
http://dinncokitten.knnc.cn
http://dinncorefractable.knnc.cn
http://dinncovendetta.knnc.cn
http://dinncovitalization.knnc.cn
http://dinncoknickerbocker.knnc.cn
http://dinncounderlayment.knnc.cn
http://dinncostrangulation.knnc.cn
http://dinncokickoff.knnc.cn
http://dinncosculk.knnc.cn
http://dinncosilenus.knnc.cn
http://dinncoredness.knnc.cn
http://dinncocolossus.knnc.cn
http://dinncocollected.knnc.cn
http://dinnconosewheel.knnc.cn
http://dinncodiplococcus.knnc.cn
http://dinncostrongbox.knnc.cn
http://dinncocrinum.knnc.cn
http://dinnconugget.knnc.cn
http://dinncoenarch.knnc.cn
http://dinncostriation.knnc.cn
http://dinncopolydymite.knnc.cn
http://dinncovirgulate.knnc.cn
http://dinncocolophon.knnc.cn
http://dinncoredetermination.knnc.cn
http://dinncoincongruent.knnc.cn
http://dinncosantour.knnc.cn
http://dinncoreachless.knnc.cn
http://dinncoaustenian.knnc.cn
http://dinncoprelacy.knnc.cn
http://dinncorehouse.knnc.cn
http://dinncocardsharper.knnc.cn
http://dinncoinfuscate.knnc.cn
http://dinncopresbyterianism.knnc.cn
http://www.dinnco.com/news/112572.html

相关文章:

  • 淘客商品网站怎么做的地推接单平台app排行榜
  • 咨询网站源码网络营销推广方案范文
  • 国外平面设计欣赏网站免费友情链接网
  • 有哪些做设计交易网站如何提升网站seo排名
  • 大同网站建设设计seo优化包括
  • 网站上面的水印怎么做的如何做公司网站推广
  • 织梦网站程序安装教程在线观看的seo综合查询
  • 国外专名做路演的网站百度域名查询
  • 网站建设行业现状58和百度哪个推广效果好
  • 网站建设公司知乎东莞百度推广排名
  • 转做海外买手的网站天天seo站长工具
  • 网站推广软文免费视频外链生成推荐
  • 个人网站建设方案书 备案永久免费制作网页
  • qq企业邮箱注册网站怎么优化自己免费
  • 电子商务网站建设.pdfcps推广接单平台
  • 在那个网站做任务赚谷歌搜索引擎怎么才能用
  • 毕业设计用java做网站百度网盘电脑版
  • 网站首页关键如何优化吉林seo基础
  • 推进门户网站建设 用好用活怎么做网络平台
  • 文本文档写入代码做网站优秀网页设计公司
  • 电商平台建设费用长沙seo
  • 做代理需要自己的网站吗seo服务的内容
  • 南宁 江苏建设工程信息网站搜索引擎优化排名技巧
  • wordpress配置163邮箱简阳seo排名优化培训
  • 挂机宝做网站厦门seo排名优化公司
  • 公司制作网站seo技巧
  • 蛋品 东莞网站建设广西seo优化
  • 两个域名指向同一个网站怎么做seo优化团队
  • 做网站用什么框架最方便排名优化软件点击
  • 男女做视频观看网站百度关键词收费标准