news 2026/7/17 4:12:56

2016桂城镇赛五年级题解c++

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2016桂城镇赛五年级题解c++

目录

1.长度(gc2016五年级1)

输入格式

输出格式

输入/输出例子1

2.面积

输入格式

输出格式

输入/输出例子1

样例解释

3.唯一(gc2016五年级3)

输入格式

输出格式

输入/输出例子1

4. 计时器(gc2016五年级4)

输入格式

输出格式

输入/输出例子1

样例解释

5.方案数(gc2016五年级5)

6.位置(gc2016五年级6)

输入格式

输出格式

输入/输出例子1


hello,大家好,我是金奇人生。话不多说,我们来讲代码!!!

1.长度(gc2016五年级1)

学校体艺节有一种新形式的马拉松比赛:运动员需要用N 分钟的时间跑,看谁跑的最远。晨晨报名参加了这个比赛,已知她每分钟的速度是v1,v2,…,vn,问晨晨总共跑了多长的距离?

输入格式

第一行:1个正整数N,表示晨晨要跑N分钟。 N的范围为[1, 100]。

第二行:N个整数,表示晨晨每分钟跑步的速度。每个数的范围为[1, 500]。

输出格式

一个整数,N分钟晨晨总共跑的距离。

输入/输出例子1

输入:3
2 5 3

输出:10

这道题纯纯签到题,来!

#include<bits/stdc++.h> using namespace std; int n,a,ans; int main(){ cin>>n; for(int i=1; i<=n; i++){ cin>>a; ans+=a; } cout<<ans; return 0; }

2.面积

为了准备运动会颁奖典礼,学校想购买一块长方形的红地毯,已知学校给的的钱刚好够买面积为N的红地毯。由于地毯的边上要用长度为1的花边装饰,当然是边长越短越好(长度是整数)。为了节省花边,老师要求晨晨通过编计算机程序来计算边长最短是多少?

输入格式

一行:1个整数N,表示矩形的面积。N的范围为[1, 1000000000]。

输出格式

一行:一个整数表示边长。

输入/输出例子1

输入:

15

输出:

16

样例解释

(红地毯的边长分别为3和5)

这道题纯枚举,注意:要开long long!

#include<bits/stdc++.h> using namespace std; long long n,ans=LONG_LONG_MAX; int main(){ scanf("%lld",&n); for(int i=1; i*i<=n; i++){ long long t=0; if(n%i==0){ t=(i+n/i)*2; if(t>ans)break; ans=min(ans,t); } } printf("%lld",ans); return 0; }

3.唯一(gc2016五年级3)

晨晨陪哥哥到电信局去买手机,电信局送一个手机号给他们。现在有N个号码供晨晨他们选,已知这些电话都是130开头的,因此只要挑选后8位的数字。

晨晨的哥哥想选一个有“特点”的号码:每个数字要么是0,要么是奇数。

由于号码太多,并且有“特点”的号码只有一个,哥哥要求晨晨通过编计算机程序来找出这个号码。

输入格式

第1行:一个正整数N,表示号码的个数。N的范围为[1, 1000]。
第2行:N个整数,每个正整数是一个8位的数字组成,前面可能有0。

输出格式

一行:一个8位整数,每个数字要么是0,要么是奇数。

(输入数据保证有且仅有一个答案)

输入/输出例子1

输入:3
35679012
00130597
08590383

输出:00130597

代上码!!!

#include<bits/stdc++.h> using namespace std; int n; string s,u; int main(){ cin>>n; for(int i=1; i<=n; i++){ cin>>s; bool f=true; for(int j=0; j<s.size(); j++){ if((s[j]-'0')%2==0 && s[j]!='0'){ f=false; break; } } if(f==true)u=s; } cout<<u; return 0; }

4. 计时器(gc2016五年级4)

输入格式

第1行:2个正整数N和K。N、K的范围为[1, 100000]。
第2行:N个整数,每个整数范围为[0, 99]。

输出格式

一整数,表示晨晨总共会收集到的计时器个数。

输入/输出例子1

输入:

6 3
0 45 94 91 91 85

输出:

4

样例解释

样例解释:

晨晨可以收集到第1、3、4、6这4个计时器。

依旧题目先行,代码殿后。

#include<bits/stdc++.h> using namespace std; long long n,k,a,ans; int main(){ cin>>n>>k; for(int i=0; i<n; i++){ cin>>a; if((a+i*k)%100==0)ans++; } cout<<ans; return 0; }

5.方案数(gc2016五年级5)

这题我用了回溯的方法,其实可以暴力~~~

#include<bits/stdc++.h> using namespace std; int k,yu=1,a[5],t=1; string s[5],b[30]; int f(int h){ if(h>k){ string shu=""; for(int i=1; i<=k; i++) shu+=s[a[i]]; for(int i=1; i<t; i++){ if(shu==b[i]){ yu--; break; } } b[t]=shu; t++; } else{ for(int i=1; i<=k; i++){ bool u=1; for(int j=1; j<h; j++){ if(i==a[j]){ u=0; break; } } if(u==1){ a[h]=i; f(h+1); } } } } int main(){ cin>>k; for(int i=2; i<=k; i++) yu*=i; for(int i=1; i<=k; i++) cin>>s[i]; if(k==1){ cout<<1; return 0; } f(1); cout<<yu; return 0; }

6.位置(gc2016五年级6)

由于晨晨还没有研究出核心算法,在游戏中总是被明明击败。晨晨拿出了杀手锏进行反击,精心设计了一个数学难题:

N个地砖,每个上面写有一个编号,开始这些编号从左到右正好是1到N。例如N=20时,地砖摆放如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

晨晨对其中哪些位置上的编号是回文数感兴趣,不过这个问题不足以击败明明,比如上面的N=20,明明很容易就给出答案:

1 2 3 4 5 6 7 8 9 11

晨晨为了干扰明明,疯狂地进行了M次操作,每次操作如下:

给定2个整数a和b (1 ≤ a ≤ b ≤N),晨晨把位置a到b的这段地砖的编号左右“翻转”一下。

比如对于N=20,M=2。执行一次a=3, b=15的操作,地砖编号变为:

1 2 15 14 13 12 11 10 9 8 7 6 5 4 3 16 17 18 19 20

再执行一次a=1, b=4的操作,地砖编号变为:

14 15 2 1 13 12 11 10 9 8 7 6 5 4 3 16 17 18 19 20

如果这个时候晨晨再问明明回文数的位置,明明就要给出答案:

3 4 7 9 10 11 12 13 14 15

输入格式

第一行:2个正整数N,M。N的范围为[1, 1000000],M的范围为[1, 1000]。

下面M行:每行2个整数a和b(1 ≤ a ≤ b ≤N)。

数据范围:50%数据1 ≤ N ≤ 10000;

输出格式

一行整数,表示所有编号为回文数的地砖的位置。

输入/输出例子1

输入:100 3
5 20
1 100
10 90

输出:2 13 15 16 17 18 19 21 32 43 54 65 76 87 97 98 99 100

这道题如果下标计数加暴力会超时,要另想办法!!!

#include<bits/stdc++.h> using namespace std; int n,m,a,b; int hui[1000005],t; int main(){ cin>>n>>m; for(int i=1; i<=n; i++){ int shu=i,yu=0; while(shu!=0){ yu=yu*10+shu%10; shu/=10; } if(yu==i)hui[++t]=i; } for(int i=1; i<=m; i++){ cin>>a>>b; for(int j=1; j<=t; j++) if(hui[j]>=a && hui[j]<=b)hui[j]=b-hui[j]+a; } sort(hui+1,hui+1+t); for(int i=1; i<=t; i++) cout<<hui[i]<<" "; return 0; }

这套题整体来说不难,就是第五题和第六题有点儿烦~~~

下课@@@

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/17 4:11:42

【Winform】使用StatusStrip控件的Spring属性显示异常

问题描述在正常拖动StatusStrip到窗体&#xff0c;并设置toolStripStatusLabel2的Springtrue后&#xff0c;会发现toolStripStatusLabel2无法正常显示&#xff0c;实际现象如下&#xff1a; 设计器布局运行情况原因分析暂时未找到原因解决方案经过多次尝试&#xff0c;找到以下…

作者头像 李华
网站建设 2026/7/17 4:11:39

Claude 3深度评测:代码生成、长文本分析与多模态能力实战解析

1. 项目概述&#xff1a;Claude 3的登场与我的初体验最近AI圈子里最热闹的事&#xff0c;莫过于Anthropic公司正式发布了Claude 3模型家族。铺天盖地的新闻和评测都在说它“全面超越GPT-4”&#xff0c;作为一个常年混迹在AI应用一线的开发者&#xff0c;我自然不能错过。第一时…

作者头像 李华
网站建设 2026/7/17 4:11:27

LangGraph如何解决复杂AI Agent的状态管理与流程控制难题

1. 为什么复杂Agent需要LangGraph&#xff1f;在构建复杂AI Agent系统时&#xff0c;开发者常常会遇到状态管理、流程控制和任务编排的挑战。LangChain作为流行的AI应用开发框架&#xff0c;其基础Agent模式在处理简单任务时表现良好&#xff0c;但随着业务逻辑复杂度的提升&am…

作者头像 李华
网站建设 2026/7/17 4:10:55

UE5 GPUScene原理与实战:GPU场景实例化技术详解

1. 项目概述&#xff1a;为什么UE5里突然 everyone 都在聊GPUScene&#xff1f;如果你最近翻过Unreal Engine 5的渲染相关技术文章、社区讨论&#xff0c;甚至只是刷了几条引擎开发者的微博或知乎动态&#xff0c;“GPUScene”这个词大概率已经高频撞进你视野——它不像Niagara…

作者头像 李华
网站建设 2026/7/17 4:10:47

智能体编程:AI协作开发的核心技术与实践

1. 智能体编程&#xff1a;从代码生成到自主协作的范式升级第一次听说"Agentic Coding"这个概念时&#xff0c;我正被一个复杂的微服务架构问题困扰。当时尝试用传统AI代码补全工具&#xff0c;发现它只能机械地响应我的片段式输入&#xff0c;完全无法理解整体业务上…

作者头像 李华
网站建设 2026/7/17 4:10:29

Windows部署OpenClaw指南:WSL2实战与性能优化

1. 为什么选择在Windows上部署OpenClaw&#xff1f; OpenClaw作为新一代智能代理平台&#xff0c;其Windows版本通过WSL2实现了近乎原生的Linux兼容性。我最近在Surface Pro 9上完整走通了安装流程&#xff0c;发现相比直接在Linux物理机部署&#xff0c;Windows方案有三大独特…

作者头像 李华