第四届传智杯初赛(莲子的机械动力学)

题目描述

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

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

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

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

输入格式

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

输出格式

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

输入输出样例

输入 #1

5 4
3 3 2 1 1
3 2 2 1

输出 #1

4 2 1 1 0

输入 #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×10^5,从低位往高位数起有 ai​∈[0,i],bi​∈[0,i]。请使用 Java 或 Python 语言作答的选手注意输入输出时的效率。

import java.util.*;
public class Main{
	 public static void main(String[] args) {
	        Scanner scan = new Scanner(System.in);
	        int n=scan.nextInt();
	        int m=scan.nextInt();
	        int max=Math.max(n, m);
	        int min=Math.min(n, m);
	        int[] a=new int[max+1];
	        int[] b=new int[max+1];
	        int[] ans=new int[max+1];
	        for(int i=(max-n)+1;i<=max;i++) {
	        	a[i]=scan.nextInt();
	        }
	        for(int i=(max-m)+1;i<=max;i++) {
	        	b[i]=scan.nextInt();
	        }
	        int jinzhi=2;
	        for(int i=max;i>=1;i--) {
	        	ans[i]+=a[i]+b[i];
	        	if(ans[i]>=jinzhi) {
	        		ans[i]-=jinzhi;
	        		ans[i-1]+=1;
	        	}
	        	jinzhi++;
	        }
	        if(ans[0]>0) {
	        	System.out.printf(ans[0]+" ");
	        }
	        for(int i=1;i<ans.length;i++) {
	        	System.out.printf(ans[i]+" ");
	        }
	   }
}

相关推荐

  1. [ #4 初赛] 萝卜数据库

    2023-12-07 17:48:06       53 阅读
  2. 三国游戏(蓝桥

    2023-12-07 17:48:06       48 阅读
  3. 蓝桥 三国游戏

    2023-12-07 17:48:06       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 17:48:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 17:48:06       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 17:48:06       87 阅读
  4. Python语言-面向对象

    2023-12-07 17:48:06       96 阅读

热门阅读

  1. 数据结构如何影响程序的错误检测和调试?

    2023-12-07 17:48:06       51 阅读
  2. Python 音频添加水印

    2023-12-07 17:48:06       47 阅读
  3. 关于FBPINN的讨论

    2023-12-07 17:48:06       50 阅读
  4. js实现元素可拖拽方法

    2023-12-07 17:48:06       65 阅读