华中农业大学第十四届程序设计竞赛(新生赛)

确定这是新生赛?这不对吧,题目难度有点逆天。

A 问题一

题目描述

小雷口算推出了令人激动的、面向各个学龄的新功能:口算 PK!

作为大一新生的小 S 热衷于 PK 功能,在其中的"100100100 以内数字比大小''中,小 S 在比赛中连连输给波奇酱,从而道心破碎。在某一局比赛中,小 S 决定申请代打。请你帮助他打败波奇酱,助他成为口算界的荣耀王者!

在一局比赛中,系统会给出 n 对数字。对于每一对数字,你需要帮助小 S 判断它们的大小关系。

输入描述:

首先输入一个整数 n(1≤n≤30),表示数字对的数量。接下来 n 行,每行输入两个整数 ai,bi(1≤ai,bi≤100)。

输出描述:

对于第 i 对数字,如果 ai>bi​,输出">";如果 ai<bi​,输出 "<";如果 ai=bi​,输出 "="。(输出均不包含引号)

示例1

输入

6
24 76
74 48
13 13
95 29
68 29
97 34

输出

<
>
=
>
>
>
n=int(input())
for _ in range(n):a,b=map(int,input().split())if a>b:print('>')elif a<b:print('<')elif a==b:print('=')

C问题二
 

题目描述

研究表明,常年发奶龙的人智商都比较高。

经常发奶龙的签到哥智商大增,同时他也出现了幻觉:在这题输入的字符串中,只要他看到有字符 'e' 出现在字符 'z' 的前面,他就会认为这道题是 easy 的。

请你根据输入的字符串来判断这道题是否是 easy 的。

输入描述:

第一行输入一个正整数 n(1≤n≤200),表示字符串的长度。第二行输入一个长为 n 的字符串,作为你判断的依据。保证字符串中仅含有小写字母。

输出描述:

如果这道题是 easy 的,则输出 "easy",否则输出"hard"。(输出均不包含引号)

示例1

输入

5
exgcd

输出

hard

说明

在第一组样例中,不存在在 'z' 前面的 'e',所以答案是 "hard"。

示例2

输入

22
eazmlbqhzyssywjsscxsyh

输出

easy

示例3

输入

7
esssssz

输出

easy

说明

在第三组样例中,第一个字母是 'e',最后一个字母是 'z',所以存在在 'z' 前面的 'e',答案是 "easy"。
n=int(input())
s=input()
e_index=-1
for i in range(n):if s[i]=='e':e_index=ielif s[i]=='z' and e_index !=-1:print('easy')break
else:print('hard')

E 题目描述

小 S 给出了两个字符串 S 和 T。他想求出 T 在 S 中的出现次数,即存在多少个 i(1≤i≤∣S∣−∣T∣+1),使得 Si+j−1=Tj 对所有的 1≤j≤∣T∣ 成立。例如,"ss" 在 "sss" 中共出现了 2 次。

由于 SSS 可能很长,所以他通过如下方式给出 SSS。

S=∑i=1 n ai×si

其中 si+sj 表示字符串拼接,∑i=1 nsi表示 s1+s2+⋯+sn​,ai×si​ 表示 ai个 si 依次拼接。

例如,记 S1= "kao",S2​= "mopian",那么 S1+S2​ 表示 "kaomopian",3×S1 表示 "kaokaokao"。

输入描述:

第一行输入一行一个整数 n(1≤n≤2×10^5)。接下来输入 n 行,第 i 行首先输入一个整数 ai(1≤ai≤10^9),再输入一个小写字母 sis_isi​。保证对于所有的 1≤i<n1,si​!=si+1​。接下来输入一行一个整数 m(1≤m≤2),表示 T 的长度。最后输入一行一个长度为 m 的字符串 T,保证 T 中仅含小写字母。

输出描述:

输出一行一个整数,表示 T 在 S 中的出现次数。

示例1

输入

4
2 s
1 y
2 s
1 y
2
sy

输出

2

说明

在第一组样例中,S= "ssyssy",T= "sy",所以 T 在 S 中出现了 2 次。

示例2

输入

3
2 r
3 s
4 y
1
y

输出

4

说明

在第二组样例中,S= "rrsssyyyy",T= "y",所以 T 在 S 中出现了 4 次。

 

n=int(input())
num=[]
li=''
ans=0
for _ in range(n):a,s=map(str,input().split())num.append(int(a))li+=s
m=int(input())
T=input()
if m==1:for i in range(n):if li[i]==T:ans+=num[i]
else:if T[0]!=T[1]:ans=li.count(T)else:for i in range(n):if li[i]==T[0]:ans+=num[i]-1
print(ans)

F 题目描述

华中农业大学第十四届程序设计竞赛(新生赛)即将来临,匿迹已久的 SS 出题组招募英才,开始了新一轮的出题工作。

目前,SS 出题组一共出了 n 道题,每道题的难度用 0 到 9 中的一个数字表示。签到哥想把这 nnn 道题组成若干套题单,每道题都必须被分到一套题单中,并且每道题都只能被分到一套题单中。为了保证题单的梯度合理,在同一套题单中,不能有难度相同的题;同时,为了便于组题,他希望每个题单中的题目编号是连续的;此外,每个题单中至少要有 1 道题。

SS 出题组给出了这 n 道题的难度。其中,编号为 iii 的题目的难度为 ai​。

签到哥想知道,最少可以组多少套题单?最多可以组多少套题单?

输入描述:

输入包含多组数据。首先输入一行一个整数 T(1≤T≤10^5),表示数据的组数。对于每一组数据,首先输入一行一个正整数 n(1≤n≤10^6),表示题目的数量。接下来输入一行 n 个整数 ai(0≤ai≤9),其中 ai​ 表示编号为 i 的题目的难度。保证对于一个测试点的所有数据,n 的和不超过 10^6。

输出描述:

输出 T 行。对于每组测试数据,输出两个正整数,分别表示组成题单数量的最小值和最大值。

示例1

输入

2
3
2 7 2
2
9 9

输出

2 3
2 2

说明

对于第一组测试数据,最少可以组 2 套题单,因为可以将编号为 1 和 2 的题目组成一套题单,将编号为 3 的题目组成一套题单;最多可以组 3 套题单,因为可以将编号为 1 的题目组成一套题单,编号为 2 的组成一套题单,编号为 3 的组成一套题单。
T = int(input())for i in range(T):n = int(input())d = list(map(int, input().split()))n = len(d)num = 1s = set()for i in d:if i in s:num += 1s = set([i])else:s.add(i)print(f"{num} {n}")

G题目描述

作为一名爱龙人士,签到哥饲养了一些奶龙。奶龙们的胃口非常挑剔,每一天他们不仅要吃到足够多的食物,并且对食物的种类还有很多要求。


在签到哥家的门前有一个神秘商店。神秘商店里有 m 个摊位,每个摊位的食物是无限的。其中,在第 i个摊位里售卖的食物每份需要 ai元。

奶龙一共有 n 只。其中,第 iii 只奶龙每天至少要吃 bi​ 份食物,同时,这 bi 份食物至少需要来自 ci​ 个不同的摊位。如果不能满足奶龙的所有要求,奶龙就会被暴暴龙抓走。

由于刚刚参加完区域赛,签到哥身上只有 x 元。请判断签到哥是否可以满足所有奶龙的要求,使得没有奶龙被暴暴龙抓走?

输入描述:

输入包含多组数据。首先输入一行一个整数 T,表示数据的组数。对于每一组数据,首先输入一行两个整数 m,n(1≤m,n≤3×105)。接下来输入一行 m个正整数 ai(1≤ai≤10^6),含义如题意所述。接下来输入一行 n 个正整数 bi(1≤bi≤10^6),含义如题意所述。接下来输入一行 n 个正整数 ci(1≤ci≤106,ci≤bi),含义如题意所述。最后输入一行一个正整数 x(1≤x≤10^13),含义如题意所述。保证对于一个测试点的所有数据,m 的和不超过 3×10^5,n 的和不超过 3×10^5。

输出描述:

输出共 T 行。

对于每组测试数据,输出一个字符串表示答案。如果所有奶龙都不会被暴暴龙抓走,输出 "Yes";否则输出 "No"。(输出均不包含引号)

 

输出对大小写不敏感:例如,"YES" 和 "yEs" 都可以表示所有奶龙都不会被暴暴龙抓走。

示例1

输入

4
4 3
1 1 4 2
2 1 4
2 1 1
10
2 2
1 3
1 4
1 3
114514
2 2
4 2
5 1
2 1
13
2 2
4 2
5 1
2 1
14

输出

Yes
No
No
Yes

 

t = int(input())
for _ in range(t):n, m = map(int, input().split())a = list(map(int, input().split()))b = list(map(int, input().split()))c = list(map(int, input().split()))x = int(input())a.sort()for i in range(1, n):a[i] += a[i - 1]if max(c) > n:print('No')continueneed = 0for i in range(m):v = n if c[i] > n else c[i]need += a[v - 1] + a[0] * (b[i] - v)print('Yes' if need <= x else 'No')

I 题目描述

记 f(x,t)=∏i=0 t−1(x+i)。给定 n 与 s,求 ∑x=1 nf(x,s),答案对 10^9+7取模。

输入描述:

输入一行两个整数 n(1≤n≤10^18),s(1≤s≤2×10^5)。

输出描述:

输出一行一个整数,表示答案对 10 ^ 9 + 7 取模的结果。

示例1

输入

3 1

输出

6

说明

在第一组测试数据中,n=3 且 s=1。所以 ∑x=1nf(x,s)=∑x=1 3f(x,1)=∑x=13∏i=00(x+i),而 ∑x=13∏i=00(x+i)=1+2+3,所以答案为 6。

示例2

输入

1 3

输出

6
def modular_inverse(a, m):m0, x0, x1 = m, 0, 1if m == 1:return 0while a > 1:q = a // mm, a = a % m, mx0, x1 = x1 - q * x0, x0if x1 < 0:x1 += m0return x1def product_modulo(n, s, m):product = 1for i in range(s + 1):product = (product * (n + i)) % mreturn productdef sum_f(n, s):m = 10**9 + 7product = product_modulo(n, s, m)inverse = modular_inverse(s + 1, m)return (product * inverse) % mn, s = map(int, input().split())
print(sum_f(n, s))

K  题目描述

波奇酱当上了 HZAUACM 的负责人。


HZAUACM 一共有 n 行 m 列共 n×m 个座位,其中,第 x 行 y 列的座位用坐标 (x,y)表示。除了波奇酱,HZAUACM 还有 k 名成员,他们的位置分别是 (x1,y1),(x2,y2)⋯(xn,yn)。因为波奇酱十分社恐,所以波奇酱希望选取一个座位 (X,Y)(不能与其他成员的坐标重合),使得 min⁡i=1k(∣xi−X∣+∣yi−Y∣) 最大。如果有多个位置满足上述条件,请最小化 XXX;如果仍然有多个位置满足,请最小化 YYY。

输入描述:

第一行输入三个正整数 n,m(1≤n,m≤100),k(1≤k≤min⁡(n×m−1,100)),分别表示 HZAUACM 的座位分布和除了波奇酱的成员数量。接下来输入 kkk 行,每行两个正整数 xi,yi(1≤xi≤n,1≤yi≤m),表示第 i 位成员的位置。保证每位成员的坐标互不相同。

输出描述:

输出共两行。首先输出一行一个整数,表示波奇酱选取的座位离最近成员的距离。接下来输出一行两个整数 (X,Y),表示波奇酱选取座位的坐标。

示例1

输入

5 5 5
1 3
4 5
1 1
5 4
2 2

输出

3
4 1

示例2

输入

4 8 11
1 1
4 1
3 4
3 5
3 7
3 8
2 6
2 8
4 5
4 6
4 8

输出

2
1 3

说明

在第二组样例中,坐标 (1,3),(1,4),(1,5),(1,7),(2,2),(2,3),(3,2),(4,3) 离其他所有人的距离均为 2。同时,可以证明,不会有其他更优的位置。所以首先最小化 X,又因为 (1,3),(1,4),(1,5),(1,7) 均符合条件,所以最小化 Y,选择坐标为 (1,3) 的座位。

 

n, m, k = map(int, input().split())
members = set()
r = 0
# 位置
minGroup = (0, 0)for _ in range(k):x, y = map(int, input().split())members.add((x, y))for i in range(1, n + 1):for j in range(1, m + 1):minD = m + nif (i, j) not in members:for a, b in members:d = abs(i - a) + abs(j - b)if d < minD:minD = d
#         print(minD, r)
#         print("p", i, j)if minD > r:r = minDminGroup = (i, j)print(r)
for t in minGroup:print(t, end=" ")

M 题目描述

Alice 和 Bob 准备进行 n 次对决,每场对决有且仅有一名胜者。由于裁判 Alicespring 被 Alice 收买,所以在所有对决开始之前,Alice 可以提前得知接下来每一场对决的结果。

与此同时,裁判 Alicespring 给予了 Alice 逆转对决结果的能力。Alice 可以在任意一场对决开始前发动能力,并在任意一场对决结束后结束能力。在能力发动期间,所有对决的结果都将被逆转。能力至多可以被发动一次(可以不被发动)。

如果某一场对决的结果为 Alice 胜,那么逆转后的结果为 Bob 胜;反之,如果某一场对决的结果为 Bob 胜,那么逆转后的结果为 Alice 胜。

在这 nnn 场对决中,胜出次数多者可以获得 Alicespring 的荣誉徽章。如果 Alice 和 Bob 胜出次数相等,则 Alice 与 Bob 均不能获得 Alicespring 的荣誉徽章。请问 Alice 是否可以通过合理使用逆转结果的能力获得 Alicespring 的荣誉徽章?

输入描述:

第一行输入一个整数 n(1≤n≤10),表示对决的数量。第二行输入 n 个整数 ai(ai∈{0,1}),依次表示这 n 场对决的结果。如果 ai​=1,表示 Alice 将在第 i 场对决中取得胜利;如果ai​=0,表示 Bob 将在第 i 场对决中取得胜利。

输出描述:

输出一行一个字符串。如果 Alice 可以获得 Alicespring 的荣誉徽章,输出 Yes;否则输出 No。输出对大小写不敏感:例如,YES和 yEs都可以表示 Alice 可以获得 Alicespring 的荣誉徽章。

示例1

输入

5
1 0 0 0 0

输出

Yes

说明

在第一组样例中,Alice 可以在第 2 场对决开始前发动能力,在第 3 场对决结束后结束能力。所以 5 场对决的结果分别为:Alice 胜,Alice 胜,Alice 胜,Bob 胜,Bob 胜。Alice 胜出的次数多于 Bob 胜出的次数,Alice 可以获得荣誉徽章。

示例2

输入

1
0

输出

Yes

说明

在第二组样例中,Alice 可以在第 1 场对决开始前发动能力,在第 1 场对决结束后结束能力。
n=int(input())
ds=[int(x) for x in input().split()]
ok=False
for i in range(n):if ok : breakfor j in range(i,n):for k in range(i,j+1):ds[k] = 1 - ds[k]t1=sum(ds)t2=n-t1if t1!=t2:print("Yes")ok = Truebreakfor k in range(i,j+1):ds[k] = 1 - ds[k]
if not ok:print("No")

 

 

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

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

相关文章

Linux高性能服务器编程中的TCP带外数据梳理总结

Linux高性能服务器编程中的TCP带外数据梳理总结 文章目录 Linux高性能服务器编程中的TCP带外数据梳理总结1.TCP 带外数据总结2.第五章带外数据send.crecv.c 3.第九章带外数据send.cselect.c 4.第十章带外数据send.csig_msg.c 1.TCP 带外数据总结 至此&#xff0c;我们讨论完了…

PyTorch3D 可视化

PyTorch3D是非常好用的3D工具库。但是PyTorch3D对于可用于debug&#xff08;例如调整cameras参数&#xff09;的可视化工具并没有进行系统的介绍。这篇文章主要是想介绍我觉得非常使用的PyTorch3D可视化工具。 1. 新建一个Mesh 从hugging face上下载一个glb文件&#xff0c;例…

C# 网络编程--关于UDP 通信(二)

UDP (User Datagram Protocol) 是一种无连接的传输层协议&#xff0c;主要用于支持数据报文的传输。它的主要特点包括简单、高效、不保证可靠性和顺序。 1.UDP协议基本概念 1.udp基于IP的简单的协议&#xff0c;不可靠的协议 2.优点&#xff1a;简单、 轻量化、 传输速度高、…

Axure高保真数据可视化大屏图表组件库

推出了一款高保真数据可视化大屏图表组件库&#xff0c;旨在为用户提供丰富的图表类型&#xff0c;使数据呈现更加直观、生动。本文将详细介绍该组件库中的各类图表元件&#xff0c;包括面积图、折线图、柱状图、条形图、圆环图、雷达图、仪表图以及综合类图表&#xff0c;以满…

基于视觉的3D占用网络汇总

综述文章:https://arxiv.org/pdf/2405.02595 基于视觉的3D占用预测方法的时间线概述: 自动驾驶中基于视觉的3D占用预测的分层结构分类 2023年的方法: TPVFormer, OccDepth, SimpleOccupancy, StereoScene, OccupancyM3D, VoxFormer, OccFormer, OVO, UniOcc, MiLO, Multi-…

一区向量加权算法优化INFO-CNN-SVM卷积神经网络结合支持向量机多特征分类预测

一区向量加权算法优化INFO-CNN-SVM卷积神经网络结合支持向量机多特征分类预测 目录 一区向量加权算法优化INFO-CNN-SVM卷积神经网络结合支持向量机多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现INFO-CNN-SVM向量加权算法优化卷积神经网络结…

渗透测试-前端验签绕过之SHA256

本文是高级前端加解密与验签实战的第1篇文章&#xff0c;本系列文章实验靶场为Yakit里自带的Vulinbox靶场&#xff0c;本文讲述的是绕过SHA256签名来爆破登录。 绕过 通过查看源代码可以看到key为 1234123412341234通过查看源代码可以看到是通过SHA256来进行签名的&#xff0…

23. 迭代器

一、什么是迭代器 迭代器 指的是迭代取值的工具&#xff0c;迭代是一个重复的过程&#xff0c;每次重复都是基于上一次的结果而继续的&#xff0c;单纯的重复并不是重复。迭代器是用来迭代取值的工具&#xff0c;而涉及到把多个值循环取出的数据类型有&#xff1a;列表、字符串…

mybatisplus 分库查询

mybatisplus 分库查询 比如我们的项目有两个数据库 不同的表在不同的库 我们是可以使用mybatisplus来实现 首选引入pom <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><vers…

UE材质常用节点

Desaturation 去色 饱和度控制 Panner 贴图流动 快捷键P Append 附加 合并 TexCoord UV平铺大小 快捷键U CustomRotator 旋转贴图 Power 幂 色阶 Mask 遮罩 Lerp 线性插值 快捷键L Abs 绝对值 Sin / Cos 正弦/余弦 Saturate 约束在0-1之间 Add 相加 快捷键A Subtra…

深入了解IPv6——光猫相关设定:DNS来源、DHCPv6服务、前缀来源等

光猫IPv6设置后的效果对比图&#xff1a; 修改前&#xff1a; 修改后&#xff1a; 一、DNS来源 1. 网络连接 来源&#xff1a; 从上游网络&#xff08;如运营商&#xff09;获取 IPv6 DNS 信息&#xff0c;通过 PPPoE 或 DHCPv6 下发。 特点&#xff1a; DNS 服务器地址直…

CentOS7下,hive4.0.0安装部署

hive安装部署 为了简单起见&#xff0c;都安装到node1服务器上。&#xff08;集群&#xff1a;node1&#xff0c;node2&#xff0c;node3&#xff09; 环境&#xff08;已安装&#xff09;&#xff1a;Hadoop3.4.0&#xff0c;jdk-8u171 需要安装&#xff1a;MySQL8.4.3&…

简单记录一下 Debian12 安装 FusionPBX 要点

cd /usr/src git clone https://github.com/fusionpbx/fusionpbx-install.sh.git 编辑 fusionpbx-install.sh/debian/resources/config.sh 下面的配置可以根据需要进行修改 domain_nameip_address # hostname, ip_address or a custom valuesystem_us…

[ZMQ] -- ZMQ通信收发多个Proto数据结构 2

为了在 ZeroMQ 的一帧数据中发送两个不同的主题&#xff08;topic&#xff09;&#xff0c;并且每个主题包含不同的 Protobuf 消息&#xff0c;可以使用多部分消息的功能。具体来说&#xff0c;将发送一个包含四部分的消息&#xff1a; 第一个主题&#xff08;topic1&#xff…

LLMs之Llama-3:Llama-3.3的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama-3&#xff1a;Llama-3.3的简介、安装和使用方法、案例应用之详细攻略 目录 相关文章 LLMs之LLaMA&#xff1a;LLaMA的简介、安装和使用方法、案例应用之详细攻略 LLMs之LLaMA-2&#xff1a;LLaMA 2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途…

burp(2)利用java安装burpsuite

BurpSuite安装 burpsuite 2024.10专业版&#xff0c;已经内置java环境&#xff0c;可以直接使用&#xff0c; 支持Windows linux macOS&#xff01;&#xff01;&#xff01; 内置jre环境&#xff0c;无需安装java即可使用&#xff01;&#xff01;&#xff01; bp2024.10下载…

攻防世界逆向刷题笔记(新手模式6-?)

6.1000clicks 看题目名字似乎是让咱们点击1000次之后才会出flag。本来打算用CE看能不能搜索出来数值&#xff0c;技术不到家&#xff0c;最后没有搜索到&#xff0c;还导致永劫无间打不了了。所以还是拿出IDA老实分析。 直接搜索flag字符&#xff0c;出来一大堆。张紫涵大佬说…

Coding Caprice - dynamic programming10

300. 最长递增子序列 class Solution { public:int lengthOfLIS(vector<int>& nums) {int len nums.size();map<int, int> record;int out(1);for(int &i: nums){int max_len 0;for(auto &[x, y]: record){if(x<i){max_len max(max_len, record…

文本编辑器与正则表达式

1. VIM 编辑器 1.1 VIM 基本概念 VIM 是一个高度可定制的文本编辑器&#xff0c;广泛用于程序员的日常开发中。与传统的文本编辑器不同&#xff0c;VIM 基于模式操作&#xff0c;具有以下几个主要特点&#xff1a; 普通模式&#xff1a;用于浏览和修改文本。插入模式&#x…

lc146LRU缓存——模仿LinkedHashMap

146. LRU 缓存 - 力扣&#xff08;LeetCode&#xff09; 法1&#xff1a; 调用java现有的LinkedHashMap的方法&#xff0c;但不太理解反正都不需要扩容&#xff0c;super(capacity, 1F, true);不行吗&#xff0c;干嘛还弄个装载因子0.75还中途扩容一次浪费时间。 class LRUC…