试题C:合并检测本题总分: 10分

[问题描述]

新冠疫惜由新冠病毒引起,最近在A国蔓延,为了尽快控制疫情, A国准备给大量民众进病毒核酸检测.

然而,用于检测的试剂盒紧缺。

为了解决这一困难,科学家想了一个办法:合井检测。即将从多个人(k个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这k个人都是阴性,用一个试剂盘完成了k个人的检测。如果结果为阳性,则说明至少有一个人为阳性,需要将这k个人的样本全部重新独立检测(从理论上看,.如果检测萌k-1个人都是阴性可以推断出第k个人是阳性,但是在实际操作中不会利用此推断,而是将k个人独立检测),加上最开始的合并检测,一共使用了k+1个试剂盒完成了k个人的检测.

A国估计被测的民众的感染率大概是1%,呈均匀分布。请问k取多少能最节省试剂盒?

[答案提交]

这是一-道结果填空题,你只需要算出结果后提交即可。本题的结果为- -个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案 :10
package com.Test.Demo.第十一届蓝桥杯; public class Main_C { public static void main(
String[] args) { int min=999990; int ans=-1; for(int i=1;i<=100;i++){ //i个人一块测
int temp; if(100%i!=0){ temp = 100/i+i+1; }else{ temp = 100/i+i; } if(min>temp){
min=temp; ans=i; } } System.out.println(ans); } }
第十一届蓝桥杯大要软件更省》Javm大学B组

试题H:字符串编码

时间限制: 1.0e内存限制: 512.0MB本题总分: 20 分

[问题描述]

小明发明了一种给由全大写字母组成的字符串编码的方法。对于每一个大写字母,小明将它转换成它在26个英文字母中序号,即A- LB-2…Z-26.

这样一个字符串就能被转化成-一个数字序列:

比如ABCXYZ + 123242526.

现在给定一个转换后的数字序列,小明想还原出原本的字符串。当然这样的还原有可能存在多个符合条件的字符串。小明希望找出其中字典序最大的字符串,

[输入格式]一个数字序列。

[输出格式]

一个只包含大写字母的字符串,代表答案

[样例输入]123242526

[样例输出]LCXYZ

[评测用例规模与約定]

对于20%的评利用例,输入的长度不超过20.对干所有评测用例,输入的长度不超过20000.
import java.util.Scanner; public class Main { public static void main(String[]
args) { Scanner input = new Scanner(System.in); String s = input.next(); int len
= s.length(); char[] c = s.toCharArray(); int i; for(i = 0; i < len-1; i++) {
int a = c[i]-'0'; int b = c[i+1]-'0'; int ans = a*10+b; if(ans<27) { char ch = (
char) (ans+64); System.out.print(ch); i++; }else { char ch = (char) (a+64);
System.out.print(ch); } } if(i < len){ char ch = (char) (c[i]-'0'+64); System.
out.print(ch); } } }
试题I: BST插入节点问题

时间限制: 1.08内存限制: 512.0MB本题总分: 25分

[问题描述]

给定一-棵包含N个节点的二又树,节点编号是1~N.其中i号节点具有权值w,并且这些节点的权值恰好形成了-棵排序二叉树 (BST).

现在给定一个节点编号K,小明想知道,在这N个权值以外,有多少个整敷X(即X不等于任何W)满足:给编号为K的节点增加一个权值为X的子节点,仍可以得到一棵BST.

例如在下图中,括号外的数字表示编号、括号内的数字表示权值。即编号1~4的节点权值依次是0、10、20、30.

1(10)

2(0)

3(20)

4(30)

如果K-1,那么答案为0.因为1号节点已经有左右子节点,不能再增加子节点了。

如果K=2,那么答案为无穷多。因为任何一个负数都可以作为2的左子节点。

如果K=3,那么答案为9.因为X= 12…19都可以作为3的左子节点。

[输入格式]

第一行包含2个整数N和K.

以下N行每行包含2个整数,其中第i行是编号为i的节点的父节点编号P和权值W.注意P-0表示1是根节点。

输入保证是一棵BST.
import java.util.Scanner; public class Main { public static void main(String[]
args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); int k =
input.nextInt(); int a[] = new int[100100]; int b[] = new int[100100]; int vis[
] = new int[100010]; for(int i = 1; i <= n; i++) { a[i] = input.nextInt(); b[i]
= input.nextInt(); vis[i] = a[i]; } int cnt = 0; int ans = 0; for(int i = 1; i
<= n; i++) { if(vis[i]==k) { cnt++; ans = b[i]; } } if(cnt==2) System.out.print(
0); else if(cnt==1) { ans = Math.abs(ans-b[k]); System.out.print(ans-1); }else
System.out.print(-1); } }

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信