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

CSP-J 复赛 模拟题6

1.大小写字母互换:

题目描述

由输入给定一个字符串,你的任务是将原字符串中的大写字母转换成其对应的小写字母,还要将原字符串中的小写字母转换成对应的大写字母,其余字符不变。

输出转换之后得到的新字符串。

输入格式

一行,一个字符串,可能包含空格。

输出格式

一行,表示转换之后的字符串

输入输出样例

输入 #1

How much U wanna risk?
 

输出 #1

hOW MUCH u WANNA RISK?
 

说明/提示

对于100%的测试点,保证字符串长度不超过1000.

2.超能力棋盘

题目描述

公元2069年,Centent公司所经营的围斗寿棋业务突破了下限,他们甚至允许对弈双方在开局时通过充值来提前落子!

我们可以将棋盘视作一个无限大的平面直角坐标系,棋盘的正中心坐标为(0,0),所有棋子都必须放置在实线的交叉点处(即横坐标纵坐标均为整数的位置)。如下图所示:

小C计划在对局开始前,先在棋盘上放置n个棋子,放置一枚棋子至(x,y)处的代价为∣x∣+∣y∣ 。如果放置了多枚棋子,那么你只需要付出代价最高的那一枚棋子的代价。为了让每一枚棋子都能充分的发挥作用,小C想让任意两枚棋子都不会挨着(即两枚棋子间的距离大于1)。请问为了放置这n枚棋子,小C至少需要付出多少代价?

输入格式

第一行,一个正整数T表示多组数据。

接下来T行,每行一个正整数n表示需要放置的棋子数目。

输出格式

输出共T行,每行一个数,表示放置n枚棋子所需要的最小代价。

输入输出样例

输入 #1

4
1
3
5
975461057789971042
 

输出 #1

0
1
2
987654321
 

说明/提示

样例解释:

对于第一组询问,直接将11枚棋子放置于(0,0)(0,0)处,所需代价为00。

对于第二组询问,直可以将33枚棋子放置于(1,0),(−1,0),(0,1)(1,0),(−1,0),(0,1)处,所需代价为11。

对于第三组询问,直可以将55枚棋子放置于(0,0),(1,1),(−1,1),(1,−1),(−1,−1)(0,0),(1,1),(−1,1),(1,−1),(−1,−1)处,所需代价为22。

数据范围:

对于20%的数据,保证n≤10^2.

对于50%的数据,保证n≤10^5.

对于80%的数据,保证T≤10^4,n≤10^8.

对于100%的数据,保T≤10^6,n≤10^18.

3.分糖果

题目描述

现在有 n 包糖果要分给两名小朋友,每一包糖果里有着 1,2,31,2,3 颗糖果。我们当然希望能分给两名小朋友同样多的糖果,请问是否能够办到?可以的话请输出 YES, 否则请输出 NO 。

输入格式

输入第一行,一个正整数 T 表示多组数据。

接下来 T 组数据,每组数据分两行输入:

  • 第一行,一个正整数 n 表示有 n 包糖果。

  • 第二行,n 个正整数 1,2,...,a1​,a2​,...,an​ 表示每包糖果中的糖果个数。

输出格式

输出共 T 行,每行一个 YES 或 NO 表示结果。

输入输出样例

输入 #1

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

输出 #1

YES
NO
YES

说明/提示

样例解释:

对于第一组样例,分给一名小朋友第 1,3,51,3,5 包糖果,另一名小朋友第 2,42,4 包糖果,两名小朋友所得的糖果个数相同。

对于第二组样例,44 包糖果中的总糖果个数为奇数,无论如何也无法办到。

数据范围:

对于 100% 的数据,保证T≤10^2,n≤10^4,1≤ai​≤3。

4.最少交换次数:

题目背景

Famrer Jnoh闲来无事,开始钻研起了排序算法;

无所不能的Famrer Jnoh每一次能够将序列中的任意两个数字交换位置,但他很着急,想要知道最少交换多少次可以让整个序列完全有序(升序降序都算)。

题目描述

给定n个数1,2,...,a1​,a2​,...,an​,请求出最少经过多少次的交换,可以让n个数按照升序或降序排列。

输入格式

第一行一个整数n;

第二行n个数,表示1,2,...,a1​,a2​,...,an​.

输出格式

一个整数,表示最少经过多少次交换可以使得这n个数有序.

输入输出样例

输入 #1

5
2 3 1 5 4
 

输出 #1

3
 

输入 #2

7
6 5 1 7 4 2 3
 

输出 #2

5
 

说明/提示

数据范围:

对于10%的数据,保证ai​=i;

对于30%的数据,保证n≤20;

对于60%的数据,保证1,2,...,a1​,a2​,...,an​是1∼n 的一个排列;

对于100%的数据, 保证n≤5⋅105,ai​≤109且对于任意的,i!=j,有ai​!=aj​.

http://www.lryc.cn/news/417898.html

相关文章:

  • 拷贝函数的三种调用方式
  • C语言 | Leetcode C语言题解之第327题区间和的个数
  • 统计学:条件概率模型
  • 前端工程师学习springboot2.x之配置idea热更新实现高效率开发节奏
  • 文本rerank与图像rerank
  • Docker 在 Windows 系统下的使用指南:数据卷和数据库
  • [数据集][目标检测]轴承缺陷划痕检测数据集VOC+YOLO格式1166张1类别
  • 将本地微服务发布到docker镜像二:
  • 前端构建工具|vite快速入门
  • 拯救PyCharm:击退IDE内存泄漏的策略
  • 在vue3的开发环境中为什么使用vite而不是用webpack
  • mybatis结合generator进行分页插件PluginAdapter开发
  • 面试:ArrayList和LinkedList
  • 【uniapp】uniapp+vue2微信小程序实现分享功能
  • WEB渗透Web突破篇-目录爆破
  • Windows设备文件同步平台
  • 用九方智投学习机,学会应对回撤风险
  • maven打包加入本地jar包
  • 从TiDB迁移到OceanBase的实践分享
  • DL00765-光伏故障检测高分辨率无人机热红外图像细粒度含数据集4000+张
  • CICD流水线
  • Sass/Scss基础
  • 【sx sb sz】Centos/Linux sx、sb、sz命令详细介绍
  • 【网络层】IP报文解析和网段划分
  • [GXYCTF2019]禁止套娃1
  • 人工智能时代,数字化工厂如何改革?提升竞争力?
  • 气膜建筑的抗风与防火性能:保障仓储的安全—轻空间
  • 【秋招笔试】2024-08-07-YT游戏(研发岗)-三语言题解(CPP/Python/Java)
  • 【Python知识】m.inplace = inplace 《==》是否执行原地操作
  • Go语言fmt包中print相关方法