Good Bye 2023

2023-12-31 19:44
文章标签 2023 good bye

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

在这里插入图片描述

Good Bye 2023

Good Bye 2023

A. 2023

题意:序列a中所有数的乘积应为2023,现在给出序列中的n个数,找到剩下的k个数并输出,报告不可能。

思路:把所有已知的数字乘起来,判断是否整除2023,不够的k补1,注意当前乘积已经大于2023的情况。

AC code:

void solve() {cin >> n >> k;int now = 1;for(int i = 0; i < n; i ++) {int x; cin >> x;a[i] = x;now *= x;}if(2023 % now || now > 2023) {cout << "NO" << endl;return;}cout << "YES" << endl;k -= 1;while(k --) cout << 1 << " ";cout << 2023 / now << endl;//cout << "Good Bye 2023" << endl;
}

B. Two Divisors

题意:给出正整数的两个最大的除数a和b,求x。

思路:首先是找出a和b的最小公倍数lcm,然后判断lcm是否为较大的除数:

如果是,说明a是b的除数,且a和b还是x最大的两个除数,当前的最小公倍数是b,b/a为当前b最大能放大的倍数,则x=b*(b / a);

否则,x=lcm。

AC code:

int gcd (int a, int b) {if(b) while((a%=b) && (b%=a)); return a + b;
}void solve() {int a, b; cin >> a >> b;int lcm = a * b / gcd(a, b);if (lcm != b) {cout << lcm << endl;return;}cout << b * b / a << endl;
}

C. Training Before the Olympiad

题意:

在一个长度为n的正整数数组中,A和B轮流操作:

  • 每次选择两个不同的索引i和j,然后在数组中删除 a i a_i ai a j a_j aj,在数组中加入[( a i a_i ai+ a j a_j aj)/2] *2,A先起手,直到数组元素为1游戏结束;

  • A目标是最大化最终数字,B目标是最小化最终数字;

  • 现在针对数组a的每个前缀数字进行操作,每个前缀的最终数字是多少。

思路:

看奇偶:

  • 每次操作选择的两元素奇偶性相同则操作不会影响最终结果,否则会对最终结果-1;
  • 奇数才是影响最终结果的关键,AB无论怎么选择,一次操作后的数字必定是偶数;
  • 对A来说是尽可能选择奇偶性相同的元素,对B则是选择奇偶性不同的元素来缩小最终结果:
  • A优先选择成对的奇数来减少奇数的数量,一次减少2个奇数,选择一个奇数一次减少1个奇数:
    • 首先前缀和奇数的数量;
    • 各一轮下来最多消灭三个奇数,一次结果-1,再看多出的奇数若为1结果额外-1。

AC code:

void solve() {cin >> n;vector<int> cnt(n + 1, 0);vector<int> sum(n + 1, 0);for (int i = 1; i <= n; i ++) {cin >> a[i];sum[i] = sum[i - 1] + a[i];cnt[i] = cnt[i - 1] + (a[i] % 2 != 0);}for(int i = 2; i <= n; i ++) {if(cnt[i] == 1){sum[i] -= 1;continue;}sum[i] -= (cnt[i] / 3) + (cnt[i] % 3 == 1);}for(int i = 1; i <= n; i ++) cout << sum[i] << " ";cout << endl;
}

D. Mathematical Problem

题意:找出n个n位数(n为奇数),每个数满足各数位的组成的集合相同,且每个数都是一个平方数;

思路:

map打表找规律,会发现神奇的事情:

n = 3
169
196
961
n = 5
10609
16900
19600
61009
90601
96100
n = 7
1006009
1060900
1690000
1960000
6100900
9006001
9060100
9610000
n = 9
100060009
100600900
106090000
169000000
196000000
610090000
900060001
900600100
906010000
961000000
......

然后就是字符串的操作了…

AC code:

void solve() {string cnt = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";cin >> n;if (n == 1) {cout << 1 << endl;return;}cout << "196" << cnt.substr(0, max((LL)0, n - 3)) << endl;for (int i = 0; i < n / 2; i ++) {cout << '1' << cnt.substr(0, i) << '6' << cnt.substr(0, i) << '9' << cnt.substr(0, max((LL)0, n - 3 - 2 * i)) << endl;cout << '9' << cnt.substr(0, i) << '6' << cnt.substr(0, i) << '1' << cnt.substr(0, max((LL)0, n - 3 - 2 * i)) << endl;}
}

这篇关于Good Bye 2023的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

【UVA】1619-Feel Good(数据结构-栈)

既然所有数都是大于等于0的,那么在一个区间最小值一定的情况下,这个区间越长越好(当然有特殊情况) 对一个数a[i],left[i]代表左边第一个比它小的,right[i]代表右边第一个比它小的 如何构造left[i]呢?,从左往右构造一个单调递增的栈(一定是单调的!) 当a[i]比栈顶元素小的时候,栈顶元素出栈,(否则的话入栈,left[i]就是栈顶元素的位置,right数组同理可得

2023 CCPC(秦皇岛)现场(第二届环球杯.第 2 阶段:秦皇岛)部分题解

所有题目链接:Dashboard - The 2023 CCPC (Qinhuangdao) Onsite (The 2nd Universal Cup. Stage 9: Qinhuangdao) - Codeforces 中文题面: contest-37054-zh.pdf (codeforces.com) G. Path 链接: Problem - G - Codeforces

HNU-2023电路与电子学-实验1

写在前面: 这是电路与电子学课程的第一次实验,按照指导书的需求在Multisim软件搭建一个电路传感器模型,难度较小,细心完成就没有问题。 小tips:22级实验是采用上传到测试平台来进行功能检测,如果不通过则会打回修改后再重新提交,(我们那时候的评测系统特别特别慢,一次只能测一个同学,剩下同学就排队等着,久的时候甚至超过10个小时),这里列举一个常见的错误:热噪声有+号这端需要连接有源滤波器

【python】—— Python爬虫实战:爬取珠海市2011-2023年天气数据并保存为CSV文件

目录 目标 准备工作 爬取数据的开始时间和结束时间 爬取数据并解析 将数据转换为DataFrame并保存为CSV文件         本文将介绍如何使用Python编写一个简单的爬虫程序,以爬取珠海市2011年至2023年的天气数据,并将这些数据保存为CSV文件。我们将涉及到以下知识点: 使用requests库发送HTTP请求使用lxml库解析HTML文档使用dateti

Acrobat Pro DC 2023 for Mac/Win:全能型PDF编辑器深度解析

Adobe Acrobat Pro DC 2023作为一款跨平台的PDF编辑器,无论是对于Mac还是Windows用户,都提供了极为全面且强大的PDF处理功能。该软件凭借其卓越的性能和丰富的特性,成为了全球范围内用户处理PDF文档的首选工具。 一、强大的编辑功能 Acrobat Pro DC 2023内置了多种编辑工具,如文本编辑器、图片替换、页面调整等,使用户能够轻松地对PDF文档进行修改和

【行业报告】2023年消除类手游全球市场洞察

​更多消除内容: 长线消除游戏商业化设计案例:《梦幻花园》 - 游戏干饭之家 谈谈《开心消消乐》是如何做游戏商业化活动 - 游戏干饭之家 消除游戏展现了从简单的游戏玩法到复杂的社交互动,再到精细化运营的发展历程,其通过不断的创新和适应现代游戏的市场变化,依然活跃在市场的前沿 一、消除游戏分类定义 二、消除手游市场现状分析 消除手游近两年下载量增速表现优于整体手游表现,下

【数据分享】2000—2023年我国省市县三级逐月归一化植被指数(NDVI)数据(Shp/Excel格式)

之前我们分享过2000—2023年逐月归一化植被指数(NDVI)栅格数据(可查看之前的文章获悉详情),该数据来源于NASA定期发布的MOD13A3数据集!很多小伙伴拿到数据后反馈栅格数据不太方便使用,问我们能不能把数据处理为更方便使用的Shp和Excel格式的数据! 我们特地对数值在-0.2—1之间的NDVI栅格数据进行了处理,将2000-2023年逐月的归一化植被指数栅格分别按照我国省级行政边

Update Azure OpenAI npm Package to 2023-12-01-preview Version

题意:将 Azure OpenAI npm 包更新到 2023-12-01-preview 版本 问题背景: I am currently using the azure-openai npm package in my project with version 2023-03-15-preview. As per the latest updates, version 2023-12