关于#C++#的问题,如何解决?

漏抄的数字

题目描述

小明在计算两个数字的加法时,不小心将第一个数字漏抄了一段,例如原数为112311,如果从第二个字符的位置开始漏抄两个数字23,那么结果会变为1111。现在告诉你一个漏抄后错误的第一个加数,第二个加数,以及漏抄开始的位置和一个漏抄的内容。请你求出两个原始数字相加后的结果。例如漏抄的第一个加数是1100和第二个加数是11,漏抄的位置是2,漏抄的内容是11,那么得到的正确结果是111100+11=111111, 答案为111111

输入格式

第一行一个数字串,表示漏抄的第一个加数

第二行一个数字串,表示第二个加数

第三行一个整数,表示一个位置

第四行一个数字串,表示漏抄的内容

输出格式

一行,一个数字串,表示未漏抄的数字相加后的正确结果

样例 #1

样例输入 #1

1100
11
2
11

样例输出 #1

111111

提示

对于30%的数据,相加后的答案长度小于等于17位

对于100%的数据,相加后的答案长度小于等于1000位

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7586156
  • 除此之外, 这篇博客: 【c++解决】数组移除支撑树问题(详细代码)中的 【c++解决】在已知的一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和右边相邻的数大。如:1 3 2 12 1 5 3 10 7 9 8 23 85 43,这些数中被标注红色字体的都是支撑数。将这些支撑数重新排列成一组数:3 12 5 10 9 85,其中被标注蓝色字体的数又是新数列中的支撑数,将蓝色数重新排列后又得到一组新数:12 10,这时再也找不到支撑数了,最后将12 10输出来。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读: