2023年贵工程团体程序设计赛--部分题解

news2024/10/7 10:21:57

作者:杨书瑶      单位:贵州工程应用技术学院 

本次比赛由大学生程序设计协会(cpa)举办,共计17道题,295分。其中5分题三道,10分题三道,15分题两道,20分题三道,25分题两道,30分题两道。

感谢戴凯林同学的验题。

1.这是一道数学题?(5分)

题目描述:在一条长80米的道路,从头到尾每隔4米种一棵树,一共需要种多少棵树?

输入格式:本题没有输入。

输出格式:在一行输出结果。

输入样例:无

输出样例:无

//考点:道路有两边。

#include<bits/stdc++.h>
using namespace std;
int main(){
	 cout<<"42";//(80/4+1)*2
	return 0;
}

2.这是一道输出题。(5分)

题目描述:请输出CPA\n最棒”。

输入格式:本题没有输入。

输出格式:无。

输入样例:无

输出样例:

//考点:转译。

#include<bits/stdc++.h>
using namespace std;
int main(){
	 cout<<"CPA\\n最棒!";//中文感叹号
	return 0;
}

3.我爱打乒乓球(10分)

题目描述:n个人淘汰赛争夺冠军,每场球乒乓球赛的胜者(无平局)或轮空者进入下一轮赛,你作为这场活动的组织者,问共需进行多少轮和多少场比赛?

输入格式:输入第一行给出一个整数n(n<=100000),为参与比赛人数

输出格式:输出需要进行多少轮和多少场比赛。

输入样例:37

输出样例:6 36

//考点:数学。

代码1:模拟
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x=0,y=0;
	cin>>n;
	if(n<=0)cout<<"0 0";//该测试点为坑点
    else {
	while(n!=1){
		x+=n/2;
	    if(n%2)n=n/2+1;
	    else n=n/2;
		y++;
	}cout<<y<<' '<<x;}
	return 0;
}
代码2:数学思维
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x=0,y=0;
	cin>>n;
	if(n<=0)cout<<"0 0";
	else{
	for(int i=0;i<=n/2;i++)
	if(pow(2,i)>=n){
		y=i;break;
	}cout<<y<<' '<<n-1;}
	return 0;
}

4.我爱找规律(10分)

题目描述:请你找出这串数字的规律1 2 4 5 7 8 10

输入格式:第一行输入nn<=1000)

输出格式:输出第n个数(从1开始),题目保证有解。

输入样例:457

输出样例:685

//考点:隔项加3

代码1:模拟
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
    cin>>n;
	int a[n]={0},i;
	a[1]=1;a[2]=2;
	for(i=3;i<=n;i++)a[i]=a[i-2]+3;
	cout<<a[n];
	return 0;
}
代码2:数学思维。
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,x=0;
    cin>>n;
	if(n%2==1)x=n*3/2;
	else x=n*3/2-1; 
	cout<<x;
	return 0;
}

5.cpa我来了!(15分)

题目描述:给你一条字符串,统计各个字符个数并查找CPA.

输入格式: 输入一行字符串,不超过100个字符

输出格式: 输出各个字符出现个数,如果有连续字符组成的cpa(不区分大小写)最后输出”^_^,没有则输出T_T“。

输入样例1:aaacpabb

输出样例1:

            a:4

            b:2

            c:1

            p:1

           ^_^

输入样例2:aaacpbab

输出样例2:

            a:4

            b:2

            c:1

            p:1

           T_T

//考点map的应用、string的find函数以及大小写字符转换。

#include<bits/stdc++.h>
using namespace std;
int main(){
	 string s;
	 map<char,int>a;
	 getline(cin,s);
	 for(int i=0;i<s.size();i++){
	 	a[s[i]]++;
	 }
	 for(int i=0;i<=127;i++){
	 	if(a[char(i)]!=0)cout<<char(i)<<':'<<a[char(i)]<<endl;
	 }
	 for(int i=0;i<s.size();i++){
        if(s[i]>='A'&&s[i]<='Z'){
            s[i]=tolower(s[i]);
            //s[i]+=32;
            //s[i]=s[i]-'A'+'a';
        }
    }
	 if(s.find("cpa")!=-1)cout<<"^_^";
	 else cout<<"T_T";
	return 0;
}

 

6.520还是250?15分)

题目描述:有这么一串数字,有的看到的是520,有的看到的是250,那么到底是什么?

输入格式:输入一串数字,只0,2,5三个数字构成该数字位数不超过500

输出格式:第一行分别输入520和250出现的次数第二行如果520出现次数大于250出现的次数输出Yes,否则输出No。

输入样例1:520520520

输出样例1:

           10 4

            Yes

输入样例2:250250250

输出样例2:

            4 10

            No

//考点:三层循环

#include<bits/stdc++.h>
using namespace std;
int main(){
        string s;int i,j,k,x=0,y=0;
        cin>>s;
        for(i=0;i<s.size();i++){
        	for(j=i+1;j<s.size();j++){
        		for(k=j+1;k<s.size();k++){
        			if(s[i]=='5'&&s[j]=='2'&&s[k]=='0')x++;
        			if(s[i]=='2'&&s[j]=='5'&&s[k]=='0')y++;
				}
			}
		}
		cout<<x<<" "<<y<<endl;
		if(x>y)cout<<"Yes";
		else cout<<"No";
	return 0;
}

7.出什么题目呢? 

题目描述:由于作者比较懒,大家直接看样例吧!

输入格式第一行输入n(n=1||4||9||16)。随行n行,每行给出一个数字x(x>=1&&x<=n,x不会重复),然后空格给出一个y(y>=155&&y<=185),不妨告诉你,这题考察了结构体排序和循环输出图形。

输出格式:输出等边三角形。

注:如果y相同,请按x进行升序排序。

输入样例1:

16

1 155

3 157

2 156

5 159

4 158

7 161

6 160

9 163

8 162

11 165

10 164

13 167

12 166

15 169

14 168

16 170

输出样例1:

         01

      02 03 04

   05 06 07 08 09

10 11 12 13 14 15 16

输入样例2

9

1 155

6 155

2 155

7 155

3 155

8 155

4 155

9 155

5 155

输出样例2

       01

   02 03 04

05 06 07 08 09

//考点结构体排序加循环输出图形。

注:直接样例1输出有5分。

蹭分代码(7分):
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,i,j,k=0,b,a[20],x,y;
	cin>>n;
	b=sqrt(n);
	for(i=0;i<n;i++){
	a[i]=i+1;
	cin>>x>>y;	
	}
	for(i=1;i<=b;i++){
		for(j=1;j<=3*(b-i);j++)cout<<' ';
		for(j=1;j<=2*i-1;j++){
			if(j!=1)cout<<' ';
			 printf("%02d",a[k++]);
		}
		cout<<endl;
	}
	return 0;
} 

满分代码:
#include<bits/stdc++.h>
using namespace std;
struct xx{
	int x, y;
}s[20];
bool cmp(xx a,xx b){
	if(a.y==b.y)return a.x<b.x;
	return a.y<b.y;
} 
int main(){
	int n,i,j,k=0,b;
	cin>>n;
	b=sqrt(n);
	for(i=0;i<n;i++)cin>>s[i].x>>s[i].y;
	sort(s,s+n,cmp);
	for(i=1;i<=b;i++){
		for(j=1;j<=3*(b-i);j++)cout<<' ';
		for(j=1;j<=2*i-1;j++){
			if(j!=1)cout<<' ';
			 printf("%02d",s[k++].x);
		}
		cout<<endl;
	}
	return 0;
} 

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

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

相关文章

chatgpt赋能Python-pythonbus

PythonBus: 为Python 开发者量身打造的社区 对于所有Python 开发者而言&#xff0c;PythonBus 是一个非常值得加入的社区平台。该平台汇聚了全球最顶尖的Python 开发者&#xff0c;同时也是一站式排除各种问题并交流经验的平台。在PythonBus&#xff0c;无论你是初学者还是专家…

【模电实验】基本放大电路的研究实验

实验四 基本放大电路的研究实验&#xff08;2小时&#xff09; —、实验目的 &#xff08;1&#xff09;充分认识分压式偏置放大电路的电压放大作用&#xff0c;了解其静态工作点的调节、测量&#xff0c;认识截止失真和饱和失真现象&#xff0c;了解消除截止失真和饱和失真…

华为OD机试真题 Java 实现【计算网络信号】【2023Q2 200分】

一、题目描述 网络信号经过传递会逐层衰减&#xff0c;且遇到阻隔物无法直接穿透&#xff0c;在此情况下需要计算某个位置的网络信号值。 注意&#xff1a; 网络信号可以绕过阻隔物array[m][n]的二维数组代表网格地图&#xff0c;array[i][j]0代表i行j列是空旷位置&#xff…

DAY 64 mysql主从复制与读写分离

概念 什么是读写分离? 读写分离&#xff0c;基本的原理是让主数据库处理事务性增、改、删操作( INSERT、UPDATE、DELETE) &#xff0c;而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 为什么要读写分离呢? 因为数据库的…

【Linux系列P2】Linux基本指令知识(带图演示,精炼)

前言 大家好&#xff0c;这里是YY的Linux系列part2&#xff1b;本章主要内容面向能使用Linux的老铁&#xff0c;主要内容含【设置普通用户】【Linux基本知识】【基本指令大全】 在下一章节【Linux系列part3】中,YY将手把手讲述Linux的权限知识&#xff0c;欢迎订阅YY的Linux专栏…

MyBatis 是什么?与 Hibernate 的区别是什么?

MyBatis 是一种基于 Java 的持久化框架&#xff0c;它可以将 SQL 语句和 Java 代码进行映射&#xff0c;使得开发人员可以使用面向对象的方式来操作数据库。MyBatis 通过提供 XML 配置文件或注解方式来配置映射关系&#xff0c;使得数据库操作变得更加简单和灵活。 与 Hiberna…

VS Code 配置 C/C++ 开发环境

一、软件下载 需要下载的软件如下&#xff1a; VS Code编译工具&#xff1a;MinGW 或 MSYS2 或 VS2022 VS Code 下载地址&#xff1a;链接 MinGW 下载地址&#xff1a;链接 或者 链接 MSYS2 下载地址&#xff1a;链接 VS2022 下载地址&#xff1a;链接 上述软件下载完成以后…

入门JavaScript编程:上手实践四个常见操作和一个轮播图案例

部分数据来源&#xff1a;ChatGPT 简介 JavaScript是一门广泛应用于Web开发的脚本语言&#xff0c;它主要用于实现动态效果和客户端交互。下面我们将介绍几个例子&#xff0c;涵盖了JavaScript中一些常见的操作&#xff0c;包括&#xff1a;字符串、数组、对象、事件等。 例子…

Java【TCP 协议2】好多人都错了! 保证可靠传输的不是三次握手和四次挥手! 而是...

文章目录 前言一、确认应答1, 什么是确认应答2, 序列号和确认应答号 二、超时重传1, 什么是超时重传 总结 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系…

蓝牙RFCOMM 协议

蓝牙RFCOMM 1.RFCOMM1.1 服务定义模型1.2 字节排序 2 RFCOMM数据帧2.1 选项和模式2.2 帧类型2.3 帧格式2.3.1 Address2.3.2 Control&#xff08;帧类型&#xff09;2.3.3 Length2.3.4 InfoData2.3.5 FCS 2.4 多路复用控制命令&#xff08;DLCI 0&#xff09;2.4.1 DLC paramete…

OpenCV基础操作(4)颜色空间转换、几何变换、图像二值化操作

OpenCV基础操作(4)颜色空间转换、几何变换、图像二值化操作 import cv2 as cv import numpy as np一、颜色空间转换 1、转换颜色空间 在 OpenCV 中有超过 150 中进行颜色空间转换的方法。但是你以后就会发现我们经常用到的也就两种&#xff1a;BGR↔Gray 和 BGR↔HSV。 我们…

《面试1v1》volatile

基本功 我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 面试官&#xff1a; 你能解释一下 volatile 关键字的作用吗&#xff1f; 候选人&#xff1a; 当我们在编写多线程程序时&#xff0c;经常会遇到线程安全的问…

iptables防火墙(一)

iptables防火墙 一、iptables概述1、netfilter 与 iptables 的关系1.netfilter2.iptables 2、四表五链1.四表2.五链3.表的匹配优先级4.规则链之间的匹配顺序5.规则链内的匹配顺序 二、iptables防火墙的安装及配置方法1、iptables防火墙安装2、iptables防火墙的配置方法1.iptabl…

nginx(七十八)日志的深入探究

一 日志 ① nginx与日志相关的指令 access_log log_format error_log rewrite_log log_subrequest debug_connection rewrite_log limit_conn_log_level limit_req_log_level log_not_found open_log_file_cache uninitialized_variable_warn log_not_found …

【重新定义matlab强大系列八】利用matlab求局部值(函数islocalmax求局部最大值+函数islocalmin求局部最小值)

&#x1f517; 运行环境&#xff1a;Matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…

三控开关接线方式记录

参考原视频 三控开关与双控开关的多种接法&#xff0c;多控开关的工作原理_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Qh4y1J7gC/?spm_id_from333.337.search-card.all.click&vd_sourcee821a225c7ba4a7b85e5aa6d013ac92e原视频讲的不错&#xff0c;大家可以关…

国内好用的免费AI处理工具:Chat8(实现类似ChatGPT功能、TCP/IP通讯问题)

目前国外的ChatGPT比较火&#xff0c;朋友推荐了一个chat8&#xff0c;经过使用&#xff0c;觉得还不错&#xff0c;链接如下&#xff1a; https://ai.chat86.co/go/kl/775283&#xff0c;进去后可以直接用手机注册使用&#xff0c;以下是我问其关于TCP/IP的对话过程&#xff0…

(转载)从0开始学matlab(第11天)—关系运算符和逻辑运算符

选择结构的运算由一个表达式控制的&#xff0c;这个表达式的结果只有 true(1) 和 false(0)。有两种形式的运算符可以在 MATLAB 中关系得到 true/false&#xff1a;关系运算符和逻辑运算符。跟 C 语言一样&#xff0c; MATLAB 没有布尔型和逻辑数据类型。 MATLAB 把 0 …

模块一:k8s集群部署与安全配置

模块一&#xff1a;k8s集群部署与安全配置 目录 1、K8s安全运维概述 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PST6trat-1684674016197)(https://bucket-hg.oss-cn-shanghai.aliyuncs.com/img/1665822875941-73d822c8-7bdd-481c-acc1-df97b70c…

python爬虫实战——小说爬取

python爬虫实战——小说爬取 基于requests库和lxml库编写的爬虫&#xff0c;目标小说网站域名http://www.365kk.cc/&#xff0c;类似的小说网站殊途同归&#xff0c;均可采用本文方法爬取。 目标网站&#xff1a;传送门 本文的目标书籍&#xff1a;《我的师兄实在太稳健了》…