霓虹【算法赛】蓝桥杯第7场强者挑战赛

问题描述

晚上,小蓝正无聊的走在大路上,小蓝所在的街区是一个带有赛博朋克风格的街区。

他抬头一看,看到了很多霓虹灯牌。在其中的某一个店铺前,挂着一排的数字灯牌,每一个数字的显示都依靠 7 段 LED 管,亮着的灯管组成数字,具体来说如下图所示:

小蓝刚学过数字电路,他知道具体的工作原理如下:

在思考的过程中,他发现数字发生了变化。他想要知道,在数字变化的过程中,总共有多少根灯管的状态产生了变化?

例如,从显示数字 0 到显示数字 6,会有一个灯管熄灭,一个灯管点亮,那么总共有两根灯管发生了变化。

具体来说,当前的数字串是 A,一秒钟之后,数字串变成了 B,小蓝想知道,在数字跳转的过程中,有多少个灯管的状态发生了变化。

输入格式

输入共两行,包含两个等长字符串。

输出格式

一个整数,代表跳变过程中变化的灯管数量。

样例输入

cpp 复制代码
01
56

样例输出

cpp 复制代码
9

说明

跳变过程如题干中的图片。

0→5 变化了 3 根灯管,1→6 变化了 6 根灯管,共变化 9 根灯管。

运行限制

语言 最大运行时间 最大运行内存

C++ 1s 256M

C 1s 256M

Java 2s 256M

Python3 3s 256M

PyPy3 3s 256M

Go 3s 256M

JavaScript 3s 256M

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr);
	int led_change[10][10]={
	{0,4,3,3,4,3,2,3,1,2},//0-x
	{4,0,5,3,2,5,6,1,5,4},//1-x
	{3,5,0,2,5,4,3,4,2,3},//2-x
	{3,3,2,0,3,2,3,2,2,1},//3-x
	{4,2,5,3,0,3,4,3,3,2},//4-x
	{3,5,4,2,3,0,1,4,2,1},//5-x
	{2,6,3,3,4,1,0,5,1,2},//6-x
	{3,1,4,2,3,4,5,0,4,3},//7-x
	{1,5,2,2,3,2,1,4,0,1},//8-x
	{2,4,3,1,2,1,2,3,1,0},//9-x
	};
//	int led_vanish[10]={6,2,5,5,4,5,6,3,7,6};
	string a,b;cin>>a>>b;
	if(a.size()>b.size())swap(a,b);
	int loop=a.size();
	int ans=0;
	for(int i=loop-1;i>=0;--i){
		ans+=led_change[a[i]-'0'][b[i]-'0'];
	}
	cout<<ans;
	return 0;
}
相关推荐
Jerry2 小时前
LeetCode 28. 找出字符串中第一个匹配项的下标
算法
Jerry4 小时前
LeetCode 459. 重复的子字符串
算法
海石6 小时前
1500分的题目,确实有实力,不过还是我略胜一筹
算法·leetcode
海石6 小时前
【记忆化搜索】条条大路通AC,走好适合你的那一条,走到后再考虑走得快
算法·leetcode
Jerry8 小时前
LeetCode 151. 反转字符串中的单词
算法
咖啡星人k10 小时前
从Vibe Coding到Prompt Engineering:AI编程的新技能树
面试·职场和发展·ai编程
a11177611 小时前
LM 算法迭代过程动画演示(SLAM)
算法
头茬韭菜11 小时前
Context 的生死抉择:四层压缩、截断算法与 Session Memory
算法·ai
Jerry11 小时前
LeetCode 541. 反转字符串 II
算法
Jerry11 小时前
LeetCode 344. 反转字符串
算法