蓝桥杯真题代码记录(保险箱

简介: 蓝桥杯真题代码记录(保险箱

1. 题目:

小蓝有一个保险箱,保险箱上共有 n 位数字。

小蓝可以任意调整保险箱上的每个数字,每一次操作可以将其中一位增加 1 或减少 1 。

当某位原本为 9 或 0 时可能会向前(左边)进位/退位,当最高位(左边第 一位)上的数字变化时向前的进位或退位忽略。

例如:

00000 的第 5 位减 1 变为 99999 ;

99999 的第 5 位减 1 变为 99998 ;

00000 的第 4 位减 1 变为 99990 ;

97993 的第 4 位加 1 变为 98003 ;

99909 的第 3 位加 1 变为 00009 。

保险箱上一开始有一个数字 x,小蓝希望把它变成 y,这样才能打开它,问 小蓝最少需要操作的次数。

输入格式

输入的第一行包含一个整数 n 。

第二行包含一个 n 位整数 x 。

第三行包含一个 n 位整数 y 。

输出格式

输出一行包含一个整数表示答案。

样例输入

5

12349

54321

样例输出

11

2. 错误版本:

n = int(input())
list_x = [5] + [int(digit) for digit in input()]
list_y = [5] + [int(digit) for digit in input()]


result = 0

for i in range(1, n + 1):
    x = list_x[-i]
    y = list_y[-i]
    if y < x:
        up = 10 - x + y
        down = x - y
        if up < down:
            list_x[-i - 1] += 1
            k = 1
            while list_x[-i - k] >= 10:
                list_x[-i - k] -= 10
                k += 1
                list_x[-i - k] += 1
            result += up
        else:
            result += down
    else:
        up = y - x
        down = 10 - y + x
        if up > down:
            list_x[-i - 1] -= 1
            k = 1
            while list_x[-i - k] < 0:
                list_x[-i - k] += 10
                k += 1
                list_x[-i - k] -= 1
            result += down
        else:
            result += up

print(result)

3. 新版:



目录
相关文章
|
6月前
|
网络安全 数据安全/隐私保护 计算机视觉
2024蓝桥杯网络安全-图片隐写-缺失的数据(0基础也能学会-含代码解释)
2024蓝桥杯网络安全-图片隐写-缺失的数据(0基础也能学会-含代码解释)
|
6月前
|
传感器
蓝桥杯真题代码记录(管道
蓝桥杯真题代码记录(管道
41 2
|
6月前
蓝桥杯真题代码记录(直线
蓝桥杯真题代码记录(直线
36 0
|
6月前
蓝桥杯真题代码记录(卡片
蓝桥杯真题代码记录(卡片
50 0
|
6月前
蓝桥杯真题代码记录(最优清零方案
蓝桥杯真题代码记录(最优清零方案
58 0
|
6月前
蓝桥杯真题代码记录(蜂巢
蓝桥杯真题代码记录(蜂巢
41 0
|
6月前
蓝桥杯真题代码记录(数位排序
蓝桥杯真题代码记录(数位排序
44 0
|
6月前
蓝桥杯真题代码记录(纸张尺寸
蓝桥杯真题代码记录(纸张尺寸
37 0
|
6月前
|
索引
蓝桥杯真题代码记录(松散子序列
蓝桥杯真题代码记录(松散子序列
41 0
|
6月前
蓝桥杯vip测试题系统-数组求和(解题思路以及解题代码,手画思路图虽然丑丑的)
蓝桥杯vip测试题系统-数组求和(解题思路以及解题代码,手画思路图虽然丑丑的)
54 0