洛谷 [传智杯 #5 初赛] B-莲子的机械动力学

题目链接:[传智杯 #5 初赛] B-莲子的机械动力学

题目背景

【题目背景和题目描述的两个题面是完全等价的,您可以选择阅读其中一部分。】

专攻超统一物理学的莲子,对机械结构的运动颇有了解。如下图所示,是一个三进制加法计算器的(超简化)示意图。

一个四位的三进制整数,从低到高位,标为 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4。换言之,这个数可以写成 x 4 x 3 x 2 x 1 ‾ ( 3 ) \overline{x_4x_3x_2x_1}_{(3)} x4x3x2x1(3)。把它放在这四个齿轮里,对应箭头指向的数字就是现在这位的数值。

在这种机械式计算机里,我们通过齿轮的啮合来实现数位间的连接。通过不同齿轮半径的比例来确定进制。图中所有浅灰色的小齿轮的半径,比上使用皮带相接的较大齿轮的半径,都是 1 : 3 1:3 1:3。那么小齿轮每转动一圈,大齿轮就转动 1 3 \dfrac{1}{3} 31 圈,也就是刚好一个数码的角度。

于是,我们通过控制齿轮的半径实现了 3 3 3 进制的进位。

如果需要实现三进制加法,则只需要在对应数位拨动对应的数码长度即可。

如下是个例子,实现 1021 ‾ ( 3 ) + 0021 ‾ ( 3 ) = 1112 ‾ ( 3 ) \overline{1021}_{(3)}+\overline{0021}_{(3)}=\overline{1112}_{(3)} 1021(3)+0021(3)=1112(3)

初始时齿轮的状态如上。

把第一个齿轮拨动一个单位长度,变为如上图所示。

把第二个齿轮拨动两个单位长度,变为如上图所示。读数,得到结果 1112 ‾ ( 3 ) \overline{1112}_{(3)} 1112(3)


现在莲子设计了如下图所示的机械结构。对于从左往右数的第 i i i 枚齿轮,它上面的浅色小齿轮与第 i + 1 i+1 i+1 枚齿轮上的深色小齿轮的半径之比为 1 : ( i + 2 ) 1:(i+2) 1:(i+2)。也就是说,第 i i i 枚齿轮每转动 1 1 1 圈,第 i + 1 i+1 i+1 枚齿轮转过的角度恰好为它上面的一个数码。

莲子想要知道,在这样的特别的进制表示下,给定 a , b a,b a,b,那么计算出的 a + b a+b a+b 的结果是多少。

题目描述

题目背景的问题可以转化为如下描述:

给定两个长度分别为 n , m n,m n,m 的整数 a , b a,b a,b,计算它们的和。

但是要注意的是,这里的 a , b a,b a,b 采用了某种特殊的进制表示法。最终的结果也会采用该种表示法。具体而言,从低位往高位数起,第 i i i 位采用的是 i + 1 i+1 i+1 进制。换言之,相较于十进制下每一位的「逢 10 10 10 1 1 1」,该种进制下第 i i i 位是「逢 i + 1 i+1 i+1 1 1 1」。

下图所示,左边是十进制的竖式加法;右边是这种特殊进制的竖式加法。图中的红色加号表示上一位发生了进位。

输入格式

  • 第一行有两个整数 n , m n,m n,m,分别表示 a a a b b b 的位数。
  • 第二行有 n n n 个整数,中间用空格隔开,从高到低位描述 a a a 的每个数码。
  • 第三行有 m m m 个整数,中间用空格隔开,从高到低位描述 b b b 的每个数码。

输出格式

  • 输出有若干个整数,从高到低位输出 a + b a+b a+b 在这种特殊表示法下的结果。

样例 #1

样例输入 #1

5 4
3 3 2 1 1
3 2 2 1

样例输出 #1

4 2 1 1 0

样例 #2

样例输入 #2

10 1
10 9 8 7 6 5 4 3 2 1
0

样例输出 #2

10 9 8 7 6 5 4 3 2 1

提示

对于全部数据,保证 1 ≤ n , m ≤ 2 × 1 0 5 1\le n,m\le 2\times 10^5 1n,m2×105,从低位往高位数起有 a i ∈ [ 0 , i ] a_i\in[0,i] ai[0,i] b i ∈ [ 0 , i ] b_i\in[0,i] bi[0,i]。请使用 Java 或 Python 语言作答的选手注意输入输出时的效率。

#include <bits/stdc++.h>using namespace std;
int a[200005];
int b[200005];
int c[200005];int main() {ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int n, m;cin >> n >> m;for (int i = 2; i < n + 2; ++i) {cin >> a[n - i + 3];}for (int i = 2; i < m + 2; ++i) {cin >> b[m - i + 3];}int max_value = max(m, n) + 2;int tmp = 0;for (int i = 2; i <= max_value; ++i) {c[i] = a[i] + b[i] + tmp;tmp = c[i] / i;c[i] %= i;}if (c[max_value] > 0) {cout << c[max_value] << " ";}for (int i = max_value - 1; i >= 2; --i) {cout << c[i] << " ";}return 0;
}

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

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

相关文章

Django 反向解析路由

app2.urls.py from django.urls import path, re_path from . import viewsurlpatterns [path(index, views.index, nameindex),path(url_reverse, views.url_reverse, nameapp2_url_reverse), # 使用reverse()方法反向解析 ,name对于视图的reverse("app2_url_reverse&…

面临挑战:共享WiFi贴项目能否长久存在?

共享WiFi贴项目会长久吗&#xff1f;这个问题是很多创业者想要了解的事情&#xff0c;随着5G网络和共享经济的兴起&#xff0c;共享WiFi贴项目应运而生。在这个信息时代&#xff0c;网络已成为人们日常生活中不可或缺的一部分&#xff0c;而WiFi作为网络的一种接入方式&#xf…

什么是大型语言模型(LLM)?

大型语言模型 (LLM) 是一种能够理解和生成人类语言文本的机器学习模型。它们通过分析大量语言数据集来工作。 一、什么是大型语言模型 (LLM)&#xff1f; 大型语言模型 (LLM) 是一种人工智能 (AI) 程序&#xff0c;它可以识别和生成文本以及完成其他任务。LLM 经过了庞大的数据…

(vue)Module Error (from ./node_modules/eslint-loader/index.js)

(vue)Module Error (from ./node_modules/eslint-loader/index.js) 方法1&#xff1a;直接关闭eslint // vue.config.js module.exports {lintOnSave: false, //关闭eslint语法检查...... }方法2&#xff1a; 参考&#xff1a;解决参考 解决参考&#xff1a;如何修复vue-cli…

Ollama 运行 Cohere 的 command-r 模型

Ollama 运行 Cohere 的 command-r 模型 0. 引言1. 安装 MSYS22. 安装 Golang3. Build Ollama4. 运行 command-r 0. 引言 Command-R Command-R 是一种大型语言模型&#xff0c;针对对话交互和长上下文任务进行了优化。它针对的是“可扩展”类别的模型&#xff0c;这些模型在高…

uniapp+uview 学习笔记(二)—— H5开发

文章目录 前言一、开发步骤1.创建项目2.安装组件库并导入使用3.封装请求4.国际化5.打包 总结 前言 本文主要介绍使用uniapp框架和uview组件库进行H5开发&#xff0c;需要用到的开发工具为HBuilder X。 一、开发步骤 1.创建项目 打开HBuilder X&#xff0c;在顶部栏目选择 新…

网络安全框架和云安全参考架构介绍

目录 一、网络安全框架 1.1 概述 1.2 IATF框架 1.2.1 框架来源 1.2.2 框架结构图 1.2.3 框架内容 1.2.3.1 人&#xff08;People&#xff09; 1.2.3.2 技术&#xff08;Technology&#xff09; 1.2.3.3 操作&#xff08;Operation&#xff09; 1.3 NIST网络安全框架 …

javaAPI操作Elasticsearch

mapping属性 mapping是对索引库中文档的约束, 常见的mapping属性包括: type: 字段数据类型,常见的简单类型有: 字符串: text(可分词的文本), keyword(精确值, 例如: 品牌,国家)数值: long, integer, short, byte, double, float布尔: boolean日期: date对象: object index: 是否…

Hive 数据迁移与备份

迁移类型 同时迁移表及其数据&#xff08;使用import和export&#xff09; 迁移步骤 将表和数据从 Hive 导出到 HDFS将表和数据从 HDFS 导出到本地服务器将表和数据从本地服务器复制到目标服务器将表和数据从目标服务器上传到目标 HDFS将表和数据从目标 HDFS 上传到目标 Hiv…

FX110网:“炒金热”再现,汇友却被困在了假冒万洲金业!

近日&#xff0c;一汇友炒金就选错了平台&#xff0c;他交易的“万洲金业”不对劲&#xff01; 在假冒“万洲金业”反复折腾 据汇友描述&#xff0c;他此前经朋友指导&#xff0c;下载了一个“万洲金业”的APP&#xff0c;该平台宣称为香港金银业贸易场AA类141号行员&#xff0…

在Linux系统安装MySQL步骤

准备工作&#xff1a;下载好mysql&#xff08;Mariadb&#xff09;安装包&#xff1a; 第一步&#xff1a;检查系统中是否有自带的MySQL&#xff08;Mariadb&#xff09;&#xff1b; # 下面这两个都执行一下 [rootcentos101 opt]# rpm -qa | grep mysql [rootcentos101 opt]#…

大数据面试题 —— Flume

目录 介绍 FlumeFlume 架构请说一下你提到的几种 source 的不同点Flume 传输数据时如何保证数据一致性TailDir 为什么可以断点重传说下Flume事务机制Sink 消费能力弱&#xff0c;Channel 会不会丢失数据数千个Flume要怎么统一配置&#xff0c;修改就分发吗Flume一个节点宕机了怎…

用 二层口 实现三层口 IP 通信的一个实现方法

我们一般用 undo portswitch 来将二层口转为三层口&#xff0c;但如果设备不支持的话&#xff0c;那么。。。 一、拓朴图&#xff1a; 二、实现方法&#xff1a; 起一个 vlan x&#xff0c;配置 vlanif地址&#xff0c;然后二层口划分到 vlan x 下&#xff0c;对端做同样的配置…

一、MySQL基础学习

目录 1、MySQL启动2、MySQL客户端连接3、SQL3.1、SQL语句分类3.2、DDL&#xff08;数据库定义语言&#xff09;3.2.1、操作数据库3.2.2、操作数据表 3.3、DML&#xff08;数据库操作语言&#xff09;3.3.1、增加 insert into3.3.2、删除 delete3.3.3、修改 update 3.4、DQL&…

用python模拟天体运动(二体运动与天体轨道稳定问题)

目录 1. 模拟天体运动的代码 2. 运行效果 3. 非平方反比(轨道稳定性问题) 1. 模拟天体运动的代码 接下来我们将用python模拟实现天体运动 以下是我们所需要的库&#xff1a; import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy …

Java安装及环境配置详细教程

1.1 下载 Java 安装包 官网下载链接[点击跳转] 建议下载202版本&#xff0c;因为202版本之后的 Oracle JDK 是商用收费的&#xff08;个人使用不收费&#xff09; 1.2 勾选红框中内容&#xff0c;然后点击下方下载 1.3 如果没有登录 Oracle 则会跳转到该页面&#xff0c;因为…

使用多元线性回归简单预测

模型和代码 数据格式如下&#xff1a;前21列作为模型输入X&#xff0c;最后5列作为模型输出Y。 训练集&#xff1a; 测试集&#xff1a; 代码&#xff1a; from numpy import genfromtxt import numpy as np from sklearn.ensemble import GradientBoostingRegressor from …

解锁编程潜能:ChatGPT如何革新软件开发

目录 一、背景 二、功能描述 三、总结 一、背景 在这个飞速发展的数字时代&#xff0c;软件开发的效率和质量成了衡量一个开发者能力的重要标准。随着人工智能技术的不断进步&#xff0c;越来越多的开发者开始寻找能够提升工作效率的新方法。我就是其中之一&#xff0c;最近…

蓝桥杯刷题(十一)

1.卡片 反向思考&#xff0c;看k种卡片可以分给几位同学 代码 n int(input()) k 1 while k*(k1)<2*n:k1 print(k)2.美丽的2 代码 def f(x)->bool:while x:if x%102:return Truex//10return False cnt 0 for i in range(1,2021):if f(i):cnt1 print(cnt)3.单词分析 …

vue3+vite项目打包遇到的问题

一、项目打包出现空白页 vite.config.js中&#xff0c;添加base: ./ import { defineConfig } from vite import vue from vitejs/plugin-vueexport default defineConfig({base: ./, })router/index.js&#xff0c;将路由模式改成hash模式 import { createRouter, createWe…