【模拟测试题】

2023-05-16

B题

题意:
在另一个位面,世界末日发生了。东东作为诺亚方舟的船长,他现在从月球开始启动诺亚方舟去其他星球营救民众。东东从若干星球将人运回大本营,星球的数目以及每个星球的坐标和人数都将由输入决定,东东忙着开船,需要你帮忙求出所有人都到达月球并登陆所用的时间。

在直角坐标系的原点是月球,诺亚方舟每次从大本营出发,救了人之后将人送回月球。坐标系中的点代表某个星球。每个屋顶由其位置坐标和其上的人数表示。

诺亚方舟每次从大本营出发,以速度 50 50 50 km/s驶向下一个星球。达到一个星球后,救下其上的所有人,每人上船 1 1 1 s。然后船原路返回,回到月球,每人下船 0.5 0.5 0.5 s。假设原点与任意一个星球的连线不穿过其它星球。

Input:
第一行,一个整数,表示兴趣数 n   ( 1 ≤ n ≤ 100 ) n\ (1\le n\le 100) n (1n100)

接下来依次有 n n n 行输入,每一行前两个实数表示星球相对于月球的平面坐标位置 ( x i , y i ) (x_i,y_i) (xi,yi)(单位是km)、然后一个表示人数的整数 r i r_i ri,数之间以一个空格分开。 0 ≤ x i , y i ≤ 100 0\le x_i,y_i \le 100 0xi,yi100 1 ≤ r i ≤ 100 1\le r_i \le 100 1ri100

Output:
一行,救援需要的总时间,精确到秒 (向上取整)。

Sample Input:
1
30 40 3

Sample Output:
7

总结:这道模拟题不难,坑在于数据处理,一定要把输入的位置坐标声明为double类型,以及时间tot也要是double类型;向上取整是ceil向下取整是floor

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
int n,m; 
double x,y;
double tot=0.0;
int main()
{
	cin>>n;
	while(n--)
	{
		cin>>x>>y>>m;
		double s=sqrt(x*x+y*y);
		//cout<<s<<endl;
		double t=(s/50.0)*2;
		//cout<<t<<endl;
		//tot+=(t+1.5*m);
		tot+=t+1.5*m;
	}
	cout<<ceil(tot)<<endl;
}

C题

题意:
东东对数字很敏感,他定义了一个数的数根,数根即把一个数的各个位上的数字加起来可以得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。

比如,对于 24 24 24 来说,把 2 2 2 4 4 4 相加得到 6 6 6,由于 6 6 6 是一位数,因此 6 6 6 24 24 24 的数根。再比如 39 39 39,把 3 3 3 9 9 9 加起来得到 12 12 12,由于 12 12 12 不是一位数,因此还得把 1 1 1 2 2 2 加起来,最后得到 3 3 3,这是一个一位数,因此 3 3 3 39 39 39 的数根。

Input:
一个正整数(小于 1 0 1000 10^{1000} 101000)。
Output:
一个数字,即输入数字的数根

Sample Input:
24
Sample Output:
6

思路:
这道题一开始看数据看错了看的是10~1000的范围,结果WA,后面在群里发现是10^1000这就很大了不是整型int,long long int可以解决的。考虑用字符串把字符串每个加起来的和可以用int来解决。

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
int n;
string s;
int num;
void solve(string s)
{
	for(int i=0;i<s.size();i++)
		num+=int(s[i])-48;
	while(num>=10)
	{
		int ans=0;
		while(num>=10)
		{
			ans+=num%10;
			num=num/10;
		}
		ans +=num;
		num=ans;
	}
	cout<<num<<endl;;
}
int main()
{
	cin>>s;
	solve(s);
}

D题

题意:
东东家里有 N N N 盏灯( N N N 为不大于 5000 5000 5000 的正整数),从 1 1 1 N N N 按顺序依次编号,初始时全部处于开启状态;东东请了一些同学到他家玩,来了 M M M 个人( M M M 为不大于 N N N 的正整数)也从 1 1 1 M M M 依次编号。

第一个人( 1 1 1 号)将灯全部关闭,第二个人( 2 2 2 号)将编号为 2 2 2 的倍数的灯打开,第三个人( 3 3 3 号)将编号为 3 3 3 的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和 3 3 3 号一样,将凡是自己编号倍数的灯做相反处理。

请问:当第 M M M 个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。

Input:
输入正整数 N N N M M M,以单个空格隔开, M ≤ N M\le N MN
Output:
顺次输出关闭的灯的编号,其间用逗号间隔。

Sample Input:
10 10
Sample Output:
1,4,9

思路:用了bool数组vis来记录灯光的开关。

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
int n,m;
bool vis[5010];//0位关,1为开 
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		vis[i]=0;
	for(int i=2;i<=m;i++)
	{
		int j=i;
		int a=1;
		while(j<=n)
		{
			if(vis[j]==0)
				vis[j]=1;
			else if(vis[j]==1)
				vis[j]=0;
			a++;
			j=i*a;
		}
	} 
	for(int i=1;i<=n;i++)
	{
		if(vis[i]==0)
		{
			if(i==1)
				cout<<i;
			else
				cout<<","<<i;
		}
	}
}

E题

题意:
石头剪子布,是一种猜拳游戏。起源于中国,然后传到日本、朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风靡世界。

蒜头君和花椰妹喜欢玩石头剪子布,他们俩玩了 n
局游戏,他们把每局情况记在了纸上,但由于 n 很大很大,所以他们不知道谁赢的次数的更多,现在求助于你,请你编程计算最终谁获胜

Input:
第一行一个整数 n (1≤n≤100)。

接下来 n
行,每行两个字母,分别表示蒜头君和花椰妹在这局的情况,其中’S’表示石头,'J’表示剪刀,'B’表示布。
Output:
如果蒜头君赢的次数更多,输出"suantou";如果花椰妹赢的次数更多,输出"huaye";如果赢的次数一样多,输出"QAQ"。

Sample Input:
3
J S
S S
B J
Sample Output:
huaye

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
int n; 
char a,b;//ashisuan,bshihuaye 
int s=0;
int h=0;
int main()
{
	cin>>n;
	int i=0;
	for(;i<n;i++)
	{
		cin>>a>>b;
		if(a==b) continue;
		if(a=='S'&&b=='J'||a=='B'&&b=='S'||a=='J'&&b=='B')
			s++;
		else
			h++;	
	}
	//cout<<i<<" "<<s<<" "<<h<<endl;
	if(s==h)
		cout<<"QAQ"<<endl;
	else if(s>h)
		cout<<"suantou"<<endl;
	else
		cout<<"huaye"<<endl; 
}

F题

题意:
石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。

一天,小 A
和小 B 正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小 A 和小 B 比了 N 轮之后,谁赢的轮数多?

Input:
输入包含三行。

第一行包含三个整数:N
,NA,NB,分别表示比了 N 轮,小 A 出拳的周期长度,小 B 出拳的周期长度。0<N,NA,NB<100

第二行包含 NA
个整数,表示小 A

出拳的规律。

第三行包含 NB
个整数,表示小 B

出拳的规律。

其中,0
表示“石头”,2 表示“剪刀”,5 表示“布”。相邻两个整数之间用单个空格隔开。

Output:
输出一行,如果小 A 赢的轮数多,输出"A";如果小 B 赢的轮数多,输出"B";如果两人打平,输出 “draw”。

提示:
输出一行,如果小 A 赢的轮数多,输出"A";如果小 B 赢的轮数多,输出"B";如果两人打平,输出 “draw”。

Sample Input:
10 3 4
0 2 5
0 5 0 2

Sample Output:
A
思路:这道题还比较简单。
代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
int n,na,nb;
int a[110],b[110];
int na1[110],nb1[110];
int A,B;
int main()
{
	cin>>n>>na>>nb;
	for(int i=1;i<=na;i++)
		cin>>na1[i];
	for(int i=1;i<=nb;i++)
		cin>>nb1[i];
	int j=1;
	for(int i=1;i<=n;i++)
	{
		if(j>na)
			j=1;
		a[i]=na1[j];
		//cout<<j<<endl;
		j++;
	}
	int j1=1;
	for(int i=1;i<=n;i++)
	{
		if(j1>nb)
			j1=1;
		b[i]=nb1[j1];
		j1++;
	}
	/*for(int i=1;i<=n;i++)
	{
		cout<<a[i]<<" "<<b[i]<<endl;
	}*/
	for(int i=1;i<=n;i++)
	{
		if(a[i]==b[i])	continue;
		if(a[i]==0&&b[i]==2||a[i]==2&&b[i]==5||a[i]==5&&b[i]==0)
			A++;
		else
			B++;
	}
	//cout<<A<<" "<<B<<endl; 
	if(A==B)
		cout<<"draw"<<endl;
	else if(A>B)
		cout<<"A"<<endl;
	else
		cout<<"B"<<endl;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【模拟测试题】 的相关文章

  • 富文本回显

    今天遇了富文本的回显问题 xff0c 查了好多网页 xff0c 最后总结回显最简单方法 xff0c 留个纪念 lt c forEach items 61 34 bidNoticeList 34 varStatus 61 34 status
  • 弹出详细信息窗口

    lt DOCTYPE html PUBLIC 34 W3C DTD HTML 4 01 Transitional EN 34 gt lt html gt lt head gt lt meta charset 61 34 GB 2312 34
  • 字符串中特殊字符处理

    public String htmlReplace String str str 61 str replace 34 amp ldquo 34 34 34 str 61 str replace 34 amp rdquo 34 34 34 s
  • Android开发环境配置

    环境为jdk11 43 android studio2021 jdk11的安装 xff1a 参考https blog csdn net qq 22136439 article details 103295019 注意 xff1a 1 jdk
  • java中文字符乱码编码转换大全

    System out println new String myFileName getBytes 34 gbk 34 System out println new String myFileName getBytes 34 utf 8 3
  • java实现打印套打功能

    package test import java awt print import java awt 实现套打 xff0c 把套打的格式当成一张图片 xff0c 将要填入的数据按其在图片在坐标来定位 public class PrintTe
  • oracle中not in的优化

    ORACLE中NOT IN 的替代 http myjcwy iteye com blog 553563 典型的查询方式为 xff1a SELECT TITLE FROM BOOKSHELF WHERE TITLE NOT IN SELECT
  • Visual Stdio 中的error C2001: 常量中有换行符

    error C2001 常量中有换行符 问题 xff1a 使用Visual Stdio xff0c cout中文的时候 xff0c 有的时候可以正常编译并运行 xff0c 但是有的时候会出现error C2001 常量中有换行符 出现err
  • oracle实现每天定时执行一个计划任务

    http www shangxueba com jingyan 1614101 html oracle实现每天定时执行一个计划任务 创建测试表 SQL gt create table a a date 表已创建 创建一个自定义过程 SQL
  • Spring Security配置访问权限在登录页循环并报错302

    事情是这样的 xff0c 在学习Spring Security框架时 xff0c 使用框架默认的登录页面 xff0c 没有任何问题输入正确的账户和密码后都能登录 xff0c 但是将登录页面换为自定义的页面后就无法登录了 如下 xff1a 密
  • .net core基于Oauth2+jwt两种方式实现身份认证(附单点登录)

    引用地址 xff1a net core基于Oauth2 43 jwt两种方式实现身份认证 附单点登录 cslx5zx5的博客 CSDN博客 net core oauth2 基于 net core 3 1微服务架构的SSO单点登录实战 本文所
  • wordpress中文网站代码下载

    wordpress下载中文网站代码 wordpress网站 https cn wordpress org 下载各个中文版本的 xff1a 提示 xff1a 不用用积分去下载了 方法 xff1a 登录网站 xff1a
  • 源码编译装redis

    源码编译装redis 1 下载包 span class token punctuation span root 64 ZZQVM1 span class token punctuation span span class token com
  • I2C协议

    文章目录 一 什么是I2C xff1f 二 物理层与协议层1 物理层 xff08 1 xff09 I2C总线 xff1a xff08 2 xff09 从地址 xff1a xff08 2 xff09 三种传输模式 2 协议层 xff08 1
  • C++智能指针

    文章目录 前言shared ptrunique ptrweak ptr使用智能指针安全吗 xff1f 前言 下面简单的概括了 3中智能指针的在使用时候需要注意的一些地方 xff0c 三种智能指针在离开其作用域之后都会被自动释放 xff0c
  • centos 7 安装 samba

    centos 7 安装 samba 最近想在linux系统下开发C 43 43 程序 xff0c 想用window的编辑器写代码 xff0c 所以在centos 系统下安装了samba xff0c 让window系统挂载centos 系统的
  • win10如何退出“暂停7天更新”? 恢复自动更新

    services msc 微软社区的解答 xff0c 我复bai制的 断开网络进du行如下操作 xff0c 如果遇到zhi程序占用的问题 xff0c 操作进入到dao安全模式 xff08 设置 更新和安全 恢复 立即重启 xff09 进行
  • 关于Qt中线程的挂起和唤醒问题

    为了平台的可移植性 xff0c 现在好多公司或开发者都在用Qt开发 xff0c 但是Qt开发文档有一个不非常理想的问题是 xff0c 有些问题描述的不是太详细 xff0c 特别是涉及到线程的挂起 xff0c 唤醒 和sleep 等问题 在Q
  • vscode不能跳转到定义的解决方法

    vscode不能跳转到定义的解决方法 0 分析1 安装global的依赖2 安装global3 安装插件并生成索引文件 0 分析 在Linux上使用vscode时发现跳转到定义非常缓慢 xff0c 甚至不能用 打开扩展C 43 43 Int

随机推荐

  • UI----UIslider 和UIcontrol的属性

    UISlide 属性 minimumValue 当值可以改变时 xff0c 滑块可以滑动到最小位置的值 xff0c 默认为 0 0 slider minimumValue 61 10 0 maximumValue 当值可以改变时 xff0c
  • JAVA转义字符详解

    一 JAVA中反斜杠 的作用 在不同的系统中 xff0c 路径的分隔符不同 xff0c 故需要做出判断 xff0c 并切换分隔符 VBS代码中确实不用转义 xff0c 但是在JAVA或JS中 xff0c 它采用的是C语言的语法 xff0c
  • 枚举(enum)

    一 什么是枚举 我们学习过单例模式 xff0c 即一个类只有一个实例 而枚举其实就是多例 xff0c 一个类有多个实例 xff0c 但实例的个数不是无穷的 xff0c 是有限个数的 例如word文档的对齐方式有几种 xff1a 左对齐 居中
  • 安卓so包常见报错问题

    一 lib arm64 system lib64 vendor lib64 couldn 39 t find 34 libAndroidIDCard so 我没有在libs文件夹下面创建类似 arm64 v8a 这个文件夹 xff0c 因为
  • Ubuntu详解

    介绍 Ubuntu是一个以桌面应用为主的Linux操作系统 xff0c 其名称来自非洲南部祖鲁语或豪萨语的 ubuntu 34 一词 xff0c 意思是 人性 我的存在是因为大家的存在 34 xff0c 是非洲传统的一种价值观 Ubuntu
  • Selinux详解

    一 介绍 1 1百度百科 SELinux Security Enhanced Linux 是美国国家安全局 xff08 NSA xff09 对于强制访问控制的实现 xff0c 是 Linux历史上最杰出的新安全子系统 NSA是在Linux社
  • repo init详解

    首先选择manifest源 xff0c 一般直接使用清华或中科大的镜像源 repo init u https aosp tuna tsinghua edu cn platform manifest是清华提供的镜像源 repo init u
  • Android Gradle plugin requires Java 11 to run.

    报错分析 因为别人拷过来的项目gradle版本不同 xff0c 对于jdk的兼容性要求不同 之前调试什么东西 xff0c 不小心改了环境的的某个部分 xff0c 现在莫名其妙所有的项目都运行不了了 后来百度翻译了一下 xff0c Andro
  • 安卓稳定性技术栈

    涉及技术内容 xff1a framework java层 语言 xff1a Java 1 开机启动流程 xff1a Android 7 0平台开机启动 android7 0开机自启 jamousjang的博客 CSDN博客 Android系
  • keil在线调试STM32,点三次运行才能跑到main的问题解决。

    现象 使用keil开发STM32 xff0c 下载完程序后 xff0c 不能运行 在main 的入口处加打印 xff0c 啥也没打出来 xff0c 说明程序都没跑到main 在线调试debug时发现了个有意思的现象 xff0c 每次都是点击
  • JAVA中“...”三个点

    可变长参数 xff0c 就是这个位置可以传入任意个该类型参数 简单来说就是个数组 1 testPoints 7 2 testPoints 7 9 11 3 testPoints new Integer 7 9 11 1 public sta
  • IMSI,SN,IMEI分别是什么意思

    1 IMSI 国际移动用户识别码 xff08 IMSI xff1a International Mobile Subscriber Identification Number xff09 是区别 移动用户 的标志 xff0c 储存在 SIM
  • Glide详解

    现在Android上的图片加载框架非常成熟 xff0c 从最早的老牌图片加载框架UniversalImageLoader xff0c 到后来Google推出的Volley xff0c 再到后来的新兴军Glide和Picasso xff0c
  • ubuntu软件包系统已损坏

    多半是上次更新没有更新完 span class hljs built in sudo span apt get clean 说明 删除包缓存中的所有包 将 var cache apt archives 的 所有 deb 删掉 span cl
  • 机器学习及深度学习中的符号说明

    文章目录 数和数组集合和图索引线性代数中的操作微积分概率和信息论函数数据集和分布 数和数组 a a a 标
  • 51单片机系列外部中断(附源码)

    要求 用STC89C51单片机 xff0c 按键 xff0c LED灯完成外部中断实验 程序中点亮LED流水灯 xff0c 当按键按下时 xff0c 外部中断触发 xff0c 程序转至中断服务程序 xff0c 在中断服务程序中使LED灯全亮
  • Linux执行Jar包出现ClassNotFound、“main”找不到主类

    在Linux虚拟机系统执行jar包的过程中 xff0c 经常会出现类似ClassNotFound等类似的错误 xff0c 无法完成jar包的运行 xff0c 根据经验 xff0c 总结几点如下 xff0c 便于自己记忆 xff0c 后期查看
  • Linux中文乱码问题终极解决方法

    方法一 xff1a 修改 root bash profile文件 xff0c 增加export LANG 61 zh CN GB18030 该文件在用户目录下 xff0c 对于其他用户 xff0c 也必须相应修改该文件 使用该方法时putt
  • CentOS7

    Konsole使用方法 root用户 su su root 打开文件修改文件 按 i 编辑 xff0c esc退出编辑 xff0c 然后 wq 保存退出 vi etc selinux config 桌面环境 yum y groups ins
  • 【模拟测试题】

    B题 题意 xff1a 在另一个位面 xff0c 世界末日发生了 东东作为诺亚方舟的船长 xff0c 他现在从月球开始启动诺亚方舟去其他星球营救民众 东东从若干星球将人运回大本营 xff0c 星球的数目以及每个星球的坐标和人数都将由输入决定