PAT (Advanced Level) Practice

2024-09-01 09:04
文章标签 level pat practice advanced

本文主要是介绍PAT (Advanced Level) Practice,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1001: 

题目大意:

计算 a+b 的结果,并以标准格式输出——即每三个数字一组,组之间用逗号分隔(如果数字少于四位,则不需要逗号分隔) 

解析:

我们知道相加右正有负,对于样例来说

Sample Input:

-1000000 9

Sample Output:

-999,991

如果是从左往右,算上负号的话输出应该是-99,999,1

从右往左:-,999,991离正确输出还差个负号,如果我们特殊处理负号,把先把负号提前输出,接着负数像正数一样处理,那么就能够符合输出

#include <iostream>
using namespace std;
int main() {int a, b;cin >> a >> b;string s = to_string(a + b); //将a+b的值转换为字符串if(s[0] == '-') { //处理符号cout << '-';s.erase(0, 1);}int count = 0; //用于记录当前位置for(int i = s.length() - 1; i >= 0; i--){ //添加逗号count++;if(count % 3 == 0 && i > 0){s.insert(i, ",");}}cout << s;
}

1002: 

 

 

题目要求计算两个多项式 A + B 的和,其中 A 和 B 都是多项式。

输入说明:

每个输入文件包含一个测试用例。每个测试用例占两行,每行包含一个多项式的信息:

  • 第一个数字 K表示多项式中非零项的数量。
  • 接下来的 K 对数字分别表示每一项的指数 和对应的系数 。

输出说明:

对于每个测试用例,你需要输出 A 和 B 的和,格式与输入相同。注意:每行末尾不能有额外的空格,输出结果保留一位小数。

解题思路:

如果按照结构体数组来储存数据,进行相加的时候需要进行循环,最后还需要加上多余不需要相加的项。然后我就想到了用map做,指数作为key值,系数作为value值,自动实现相加,不需要循环。最后把系数不为0的项加入到vector当中去,最后输出。

#include <bits/stdc++.h>
using namespace std;map<int,double> ans; // 使用double存储系数
int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int ak; cin >> ak;for(int i = 0; i < ak; i++) {int index;double value; cin >> index >> value;ans[index] += value;}int bk; cin >> bk;for(int i = 0; i < bk; i++) {int index;double value; cin >> index >> value;ans[index] += value;}// 准备输出vector<pair<int, double>> result;for(auto i = ans.rbegin(); i != ans.rend(); i++) { // 倒序遍历,因为指数较大的项应排在前面if (i->second != 0) { // 过滤掉系数为0的项result.push_back({i->first, i->second});}}cout << result.size(); // 输出非零项的个数for (auto p : result) {printf(" %d %.1f", p.first, p.second); // 输出指数和系数}return 0;
}

这篇关于PAT (Advanced Level) Practice的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126506

相关文章

MiniCPM-V: A GPT-4V Level MLLM on Your Phone

MiniCPM-V: A GPT-4V Level MLLM on Your Phone 研究背景和动机 现有的MLLM通常需要大量的参数和计算资源,限制了其在实际应用中的范围。大部分MLLM需要部署在高性能云服务器上,这种高成本和高能耗的特点,阻碍了其在移动设备、离线和隐私保护场景中的应用。 文章主要贡献: 提出了MiniCPM-V系列模型,能在移动端设备上部署的MLLM。 性能优越:

PAT甲级-1044 Shopping in Mars

题目   题目大意 一串项链上有n个钻石,输入给出每个钻石的价格。用m元买一个连续的项链子串(子串长度可为1),如果不能恰好花掉m元,就要找到最小的大于m的子串,如果有重复就输出多个,按递增顺序输出子串的前端和后端索引。 原来的思路 取连续的子串使和恰等于m,没有恰等于就找最小的大于。可以将子串依次累加,使得每个位置都是起始位置到该位置的序列和,整个数组显递增顺序,就可以用右边减左边

PAT (Advanced Level) Practice——1011,1012

1011:  链接: 1011 World Cup Betting - PAT (Advanced Level) Practice (pintia.cn) 题意及解题思路: 简单来说就是给你3行数字,每一行都是按照W,T,L的顺序给出相应的赔率。我们需要找到每一行的W,T,L当中最大的一个数,累乘的结果再乘以0.65,按照例子写出表达式即可。 同时还需要记录每一次选择的是W,T还是L

N-ary Tree Level Order Traversal

Input: root = [1,null,3,2,4,null,5,6]Output: [[1],[3,2,4],[5,6]] 思路:就是一个queue的level order 收集; /*// Definition for a Node.class Node {public int val;public List<Node> children;public Node() {}pu

BFS 到 Level Order traverse 到 UnionFind 到 Topological Sort 到 Dijkstra 思路总结

====BFS 找联通量,找component. Number of Islands (BFS, DFS 都可以做) Surrounded Regions 算法是:先收集四个周边的 O,然后用BFS或者DFS向里面扩展,visited记录connect点,最后如果没有被visited到的O,会变成X;T: O(m*n), Space: O(m*n). Is Graph Bipartite (

UE的Gameplay框架(三) —— Level和World

这篇文章关注于Level和World,对其在Gameplay框架中的作用及使用做简单讲解。 文章目录 Level和World的作用关卡流送关卡流送体积蓝图加载 参考资料 Level和World的作用 在UE里,Level 可以看作是 Actors 的容器,其有一个LevelScriptActor用于处理特定于关卡的逻辑,但一般来说游戏的逻辑不要写在LevelScri

【持续更新】Advanced Download Manager 14.0.35 Pro安卓ADM下载神器最新高级免费修改版

这个也算小有名气,名字和 idm 有点像。当程序从剪贴板中截取链接后,您可以将其复制并发送至ADM编辑器,或者使用“添加”按钮粘贴链接。 ▨ ADM 有以下特点: • 该应用支持同时下载最多三个文件 • 通过多线程技术(9个部分)加速下载过程 • 从安卓浏览器及剪贴板中拦截链接 • 后台下载文件,并在失败后自动恢复 • 支持图片、文档、压缩包及程序的加载 • 针对Lollipop和Ma

【Agent】Agent Q: Advanced Reasoning and Learning for Autonomous AI Agents

1、问题背景 传统的训练Agent方法是在静态数据集上进行监督预训练,这种方式对于要求Agent能够自主的在动态环境中可进行复杂决策的能力存在不足。例如,要求Agent在web导航等动态设置中执行复杂决策。 现有的方式是用高质量数据进行微调来增强Agent在动态环境中的决策能力,但这往往会出现复合错误和有限的探测数据,最终导致结果不够理想。 2、提出方法 Agent Q 框架将蒙特卡洛树搜

Zabbix 企业级高级应用(Zabbix Enterprise Advanced Application)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老 导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。 常用运维工具系列:常

Code Practice Journal | Day59-60_Graph09 最短路径(待更)

1. Dijkstra 1.1 原理与步骤 步骤: 选取距离源点最近且未被访问过的节点标记该节点为已访问更新未访问节点到源点的距离 1.2 代码实现 以KamaCoder47题为例 题目:47. 参加科学大会(第六期模拟笔试) (kamacoder.com) class Program{public static void Main(string[] args){//处