第二次pta认证P测试C++

news2024/11/24 18:54:34

在这里插入图片描述

#include <iostream>
using namespace std;
int f(int n){
    if (n==0)
    {
        return 1;
    }
    if (n==1)
    {
        return 3;
    }
    return 4*f(n-1)-f(n-2);
}
int n;
int main()
{
    cin>>n;
    cout<<f(n);
    return 0;
}

第二题

试题编号:2022-13-0302
试题名称:长正整数相加
时间限制: 1.0s
内存限制: 128.0MB
【问题描述】
输入两个十进制正整数 M 和 N,求它们的和,结果用十进制表示。注意,M
和 N 可能非常大。
【输入描述】
第一行包含一个正整数 M(1≤M<10100);
第二行包含一个正整数 N(1≤N<10100)。
【输出描述】
输出一个正整数,表示计算结果。
【输入样例】
769584695655486596597654685486745
452537865655768856564568658
【输出样例】
769585148193352252366511250055403
【题目解析】
本题考察数组与字符串处理,及其与循环、分支的综合运用。以字符串输
入,按照列竖式方式求解即可。需要注意进位情况的处理。如果使用
std::string 和 std::reverse 则可简化代码。

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;

const int MAXN=10005;
int a[MAXN],b[MAXN],c[MAXN],ans[MAXN],len_a,len_b,len_ans;

void read(int *a,int &len){
    string s;
    cin >> s;
    len=s.length();
    for (int i = 0; i < len; ++i)
    {
        a[i]=s[i]-48;
    }
    reverse(a,a+len);
}
int main(){
    //高精度加法
    //读入两个加数,存入数组中
    read(a,len_a);
    read(b,len_b);
    len_ans=max(len_a,len_b);
    //进行相加操作
    for (int i = 0; i <= len_ans; ++i)
    {
        ans[i] = a[i]+b[i]+c[i];
        if (ans[i]>9)
        {
            //大于9,需要进位
            c[i+1]=ans[i]/10;
            ans[i]-=10;
        }
    }
    if (ans[len_ans]>0)
    {
        //最高位进位了,整体长度+1
        len_ans+=1;
    }
    //输出结果
    for (int i = len_ans-1; i >= 0; --i)
    {
        cout << ans[i];
    }
    cout << endl;

    return 0;
}

第三题

试题编号:2022-13-0203
试题名称:研究生入学考试
时间限制: 1.0s
内存限制: 128.0MB
【问题描述】
一年一度的研究生入学考试结束了,招生办的老师打算对所有的考生进行
成绩排名,从而确定复试的名单。排名的规则如下:(1)以入学考试的平均成绩
作为排名的依据(分数均为整数);(2)对于考生 A,如果总共有 K 个考生的平
均成绩比 A 要高,那么 A 的排名为 K+1;(3)如果考生 A 和考生 B 的平均成绩相
同,则他们的排名也相同。招生办的老师希望你能编写一个程序,来帮助他们
解决这个问题。
【输入描述】
第一行为一个整数 N(1≤N≤1000),表示考生的人数。随后有 N 行,每
一行有两个非负整数描述了一位考生的信息,依次为准考证号和平均成绩。其
中,准考证号不超过 8 位,平均成绩不超过 200。
【输出描述】
输出共有 N 行,按照名次从高到低每行输出一位考生的信息,包括名次、
准考证号和平均成绩。如果两位考生的名次相同,则以准考证号为序,考号小
的在前,大的在后。
【输入样例】
5
1000 95
1001 100
1002 94
1006 95
1007 100
【输出样例】
1 1001 100
1 1007 100
3 1000 95
3 1006 95
5 1002 94

#include <iostream>
#include <algorithm>
using namespace std;
int n,num=1;
struct student{
    int id;
    int score;
};
student s[1001];
bool compare(student s1,student s2){
    if (s1.score>s2.score)
    {
        return true;
    } else if (s1.score==s2.score)
    {
        if (s1.id<s2.id)
        {
            return true;
        }
    }
    return false;
}
int main()
{
    cin>>n;
    for (int i = 0; i < n; ++i)
    {
        cin>>s[i].id>>s[i].score;
    }

    sort(s,s+n,compare);
    for (int i = 0; i < n; ++i)
    {
        if (s[i].score!=s[i-1].score)
        {
            //与前一个成绩相同,排名不变
            num=i+1;
        }
        cout << num << " " << s[i].id << " " << s[i].score << endl;
    }
    
    return 0;
}

第四题

试题编号:2022-13-0203
试题名称:跷跷板
时间限制: 1.0s
内存限制: 128.0MB
【题目描述】
游乐场的跷跷板以力矩相等原则判断是否平衡。即如果 wldl = wrdr,则认
为跷跷板是平衡的。此处,wl、wr分别表示跷跷板左右两侧的物体体重,dl、dr
分别表示左右两侧物体到跷跷板中央支点的距离。扩展跷跷板为多层结构,即
wl与 wr均可以用子跷跷板代替。此时当且仅当所有子跷跷板都是平衡的,才称
跷跷板为平衡的。
【输入描述】
采用递归方式输入数据。每行数据描述一个跷跷板。每行数据为用空格分
隔的 4 个非负整数,分别表示 wl、dl、wr、dr。当 wl或 wr为 0 时,表示该物体实
际上为一个子跷跷板,而接下来的数据将对该子跷跷板进行描述。而当 wl和 wr
均为 0 时,先描述左子跷跷板,后描述右子跷跷板。因此,多层跷跷板的数据
表示可总结为:先左后右,深度优先。
【输出描述】
如果该多层跷跷板为平衡的,输出 1,否则输出 0。
【输入样例】
0 1 0 3
0 3 0 2
4 1 2 2
6 1 3 2
3 4 2 6
【输出样例】
1

第五题

试题编号:2022-13-0305
试题名称:最萌身高差
时间限制: 1.0s
内存限制: 128.0MB
【问题描述】
有 N 位同学获得了奖学金,现要从中选出两位代表上台领奖。出于“审
美”要求,希望选出的两位代表 A 和 B 满足:A 的身高比 B 高,A 获得的奖学金
比 B 多,且奖学金的差额大于 M。请计算选取上台同学的方案数。
【输入描述】
第一行包含两个正整数 N 和 M;
第二行包含 N 个正整数 Si,分别代表第 i 位同学获得的奖学金。输入顺序
在前的同学身高较高。
【输出描述】
输出一个正整数,表示方案数。
【输入样例】
6 2
6 5 4 3 2 1
【输出样例】
6
【数据范围】
30%的数据满足:1<= N<= 100;
100%的数据满足:
1<= N<= 100000,1<= M<= 100000,1<= Si<= 100000。
【题目解析】
对 30%的数据,可以考虑逐次使用冒泡排序+二分查找完成。
对 100%的数据,可以考虑采用归并排序的思路通过分治递归求解,也可以考虑
使用线段树优化查找。

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

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

相关文章

聊一聊被人嘲笑的if err!=nil和golang为什么要必须支持多返回值?

golang多返回值演示 我们知道&#xff0c;多返回值是golang的一个特性&#xff0c;比如下面这段代码,里面的参数名我起了几个比较好区分的 package mainfunc main() {Swap(10999, 10888) }func Swap(saaa, sbbb int) (int, int) {return sbbb, saaa }golang为什么要支持多返回…

obs whip 100ms端到端时延 webrtc验证

obs----whip---->媒体服务-----whep-----→chrome播放器&#xff08;webrtc demo&#xff09; 所有软件在同一台机器 1&#xff09;h264251080p 平均时延&#xff1a;162.8ms 采样点ms&#xff1a;167151168169151168166168167153 2&#xff09;h264301080p 平均时延&…

算法--数据结构

这里写目录标题 本节内容链表与邻接表链表主要思想链表操作初始化在head结点后面插入普通插入删除操作 例子 双链表&#xff08;双向循环链表&#xff09;主要思想操作初始化双向插入删除第k个点 邻接表主要思想 栈和队列栈主要思想主要操作 队列主要思想操作 单调栈与单调队列…

【Git】深入了解Git及其常用命令

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Git的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Git是什么 二.SVN和Git的区别 三.Git的…

[Vue warn]: Missing required prop: “action“

控制台显示错误信息 vue.runtime.esm.js:4605 [Vue warn]: Missing required prop: "action" found in ---> <ElUpload> at packages/upload/src/index.vue <ElTableRow> <ElTableBody> <ElTable> at pack…

2023年开发语言和数据库排行

2023年开发语言和数据库排行 一、开发语言相关1. Python1.1 Python优点1.2 Python缺点1.3 Python应用领域 2. C 语言2.1 C 语言优点2.2 C 语言缺点2.3 C语言应用领域 3. Java3.1 Java 优点3.2 Java缺点3.3 Java应用场景 4. C4.1 C 优点4.2 C 缺点4.3 C 应用场景 5. C#5.1 C# 优…

金蝶云星空二开单据明细按钮绑定了权限项但是没控制到权限的问题排查

文章目录 金蝶云星空二开单据明细按钮绑定了权限项但是没控制到权限的问题排查明细按钮&#xff1a;行关闭和行反关闭&#xff0c;分别绑定了SCM_ROWCLOSE和SCM_ROWUNCLOSE解决方案 金蝶云星空二开单据明细按钮绑定了权限项但是没控制到权限的问题排查 明细按钮&#xff1a;行…

ros1 实现Server端自定义四 Topic模式控制海龟运动

一、服务模型 Server端本身是进行模拟海龟运动的命令端&#xff0c;它的实现是通过给海龟发送速度&#xff08;Twist&#xff09;的指令&#xff0c;来控制海龟运动&#xff08;本身通过Topic实现&#xff09;。 Client端相当于海龟运动的开关&#xff0c;其发布Request来控制…

深入理解强化学习——多臂赌博机:梯度赌博机算法的基础知识

分类目录&#xff1a;《深入理解强化学习》总目录 到目前为止&#xff0c;我们已经探讨了评估动作价值的方法&#xff0c;并使用这些估计值来选择动作。这通常是一个好方法&#xff0c;但并不是唯一可使用的方法。我们针对每个动作 a a a考虑学习一个数值化的偏好函数 H t ( a …

Netty入门指南之NIO 粘包与半包

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言问题产…

电脑篇——本地串口转TCP,TCP转虚拟串口,网络调试助手,串口调试助手

TCP/UDP工具、串口工具 https://pan.baidu.com/s/1SY03d_RRVhyOZfsPlApmxg?pwd5555 今日有个需求&#xff0c;就是在本机电脑上接了一个串口设备&#xff0c;然后我的QtCreator是在内网远程电脑运行的&#xff0c;我想将串口设备“挂载”到远程电脑上去调试程序&#xff0c;于…

【Mysql】增删改查(基础版)

我使用的工具是Data Grip &#xff08;SQLyog Naivact 都行&#xff09; 使用Data Grip创建student表&#xff0c;具体步骤如下&#xff08;熟悉Data Grip或者使用SQLyog&#xff0c;Naivact可以跳过&#xff09; https://blog.csdn.net/m0_67930426/article/details/13429…

金蝶云星空下游单据的操作控制上游单据的状态转换开发方案

文章目录 金蝶云星空下游单据的操作控制上游单据的状态转换开发方案说明方案设计开发实现售后单增加变更状态反写规则反写状态&#xff1a;在保存配置了反写状态保存后删除&#xff0c;反写规则不生效&#xff0c;需要在删除操作配置插件根据关联关系进行反写生效操作&#xff…

如何实现云端开发能力快速提升?【DevRun】云上开发创新实践带你实现

随着企业数字化的转型趋势&#xff0c;软件成为数字化转型的关键驱动力&#xff0c;在云计算越来越普及且作用愈发重要的今天&#xff0c;现代应用正以难以想象的速度在增长&#xff0c;同时对软件开发工具提出了新的要求。 华为云CodeArts作为一站式云上开发创新工具&#xf…

从零开始:PRD产品需求文档怎么写

产品需求文档&#xff08;PRD&#xff09;是所有产品开发项目的关键环节&#xff0c;它的主要职责是传递关于即将开发的产品的所有核心信息给团队。作为一名Pixso设计师&#xff0c;我们清楚这个过程可能显得复杂和耗费精力&#xff0c;但这并不意味着我们不能让它变得更为简洁…

国产猫罐头可以长期作为主食吗?我家的优质TOP的猫罐头分享

我最近一直在调查国产猫罐头可以长期作为主食吗&#xff1f;看看我的购物订单&#xff0c;我已经尝试了几十款了。今天&#xff0c;我想和大家分享一些关于国产猫罐头的经验和见解。 近年来&#xff0c;国产宠粮市场取得了突破性的进展&#xff0c;各个猫粮商在配方、营养数据…

pinpoint监控tomcat应用,页面显示No data collected

pinpoint安装部署教程大家都可以搜到。这里就不说了。单说一下 页面没有数据的情况。 部署环境&#xff0c;pinpoint安装部署在A服务器上。现在是在C、D、E、F……linux机器上安装pinpoint-agnet 1. 将文件 pinpoint-agent-1.8.5.tar.gz 上传到 服务器C、D、E、F…… 2. 解压…

解决IDEA使用卡顿的问题

*问题&#xff1a;使用IDEA的时候卡顿 原因&#xff1a;IDEA默认分配的内存有上限 **可以查看内存分配情况及使用情况__ 解决&#xff1a; 设置JVM的启动参数&#xff1a; 进入idea的安装目录的bin文件夹 -Xms1024m -Xmx2048m -XX:ReservedCodeCacheSize1024m -XX:UseG1G…

洋子带你赚钱,粉丝有奖任务来啦,最高拿90京东卡

大家好&#xff0c;我是洋子&#xff0c;前段时间CSDN联合阿里云发布了免费试用3种 云服务器的活动任务&#xff0c;每完成一个任务就可以拿到30京东卡&#xff0c;3个任务互相独立&#xff0c;如果3个任务全部完成就可以拿到90京东卡 任务奖励 参与体验大概十几分钟&#xf…

JS点击图片指定对象变色两种方法

要求&#xff1a;点击上面的颜色实现下面的图像变成相同的颜色 难点&#xff1a;对于js函数的this对象不太清楚如何传递 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>changeColor</title>&l…