CCF-Csp算法能力认证,202209-1如此编码(C++)含解析

2024-05-09 14:12

本文主要是介绍CCF-Csp算法能力认证,202209-1如此编码(C++)含解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

推荐书目,在这里推荐那一本《算法笔记》(胡明),需要PDF的话,链接如下

「链接:https://pan.xunlei.com/s/VNvz4BUFYqnx8kJ4BI4v1ywPA1?pwd=6vdq# 提取码:6vdq”复制这段内容后打开手机迅雷App,查看更方便」

希望有大神能够提供改良意见,敬礼!

---------------------------------------------------------------------------------------------------------------------------------

题目

【题目描述】

【输入格式】

【输出格式】

【样例 1 输入】

15 32767
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

【样例 1 输出】

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 

【样例 1 解释】

【样例 2 输入】

4 0
2 3 2 5

【样例 2 输出】

0 0 0 0

【样例 2 解释】

【样例 3 输入】

7 23333
3 5 20 10 4 3 10

【样例 3 输出】

2 2 15 7 3 1 0

【样例 3解释】

【子任务】

思路分析:

本题的思想比较简单,主要通过对演示3的解析得到结论,c[i]是可以通过输入的a[i]直接计算得到,使用m除c[i-1],得到的除数作为b[n+1-i],余数则作为m新的值,由于b[i]是倒序赋值的,需要单独搞出来去输出。

其中abc分别有一个多余的元素,对ab来说,0号是多余的,但是为了方便理解和使用,选择与现实中的题目序号保持一致。而c的最后一个值是多余的,计算的时候直接使用-1来忽略。

代码如下:

#include <bits/stdc++.h>//万能头文件 
using namespace std;
//运行结果为nan  表示  not a number  一般都是运算出了逻辑错误,比如除了0int main() {int n=0;//n是题目的个数(0.1.2.3.4.n) int m=0;//最终的密码(被解析的数)被除数 //int result=0; //const int N=10000;cin>>n>>m; int a[n+1]; //数组,存储数据 ,存储每道题的选项个数 int c[n+1];int b[n+1]; //存储结果c[0]=1;for(int i=1;i<n+1;i++){//输入 cin>>a[i];c[i]=c[i-1]*a[i];//计算出ci(最后有个c[i]是无用的数据,之后要做限制)	}for(int i=1;i<n+1;i++){b[n+1-i]=m/c[n-i];//算出结果,从后往前填入 ,b[i]取除数 m=m%c[n-i];//m取余 }for(int i=1;i<n+1;i++){cout<<b[i]<<" ";//正序输出 } return 0;
}

这篇关于CCF-Csp算法能力认证,202209-1如此编码(C++)含解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C