题目描述
输入
第一行为一个正整数L,表示数码的长度。
接下来两行是两个长度为L的数字A和B,表示要把数字A变成数字B(数字可以以0开头)。
输出
一行一个整数,表示这些小二极管一共要变换多少次。
样例输入
3
101
025
样例输出
12
提示
L<=100
思路:最直接的方法就是把一种数字变换到另一种数字的需要的次数都列出来
代码:
#include<stdio.h>
int main()
{
int ca[10][10]={{0,4,3,3,4,3,2,3,1,2},
{4,0,5,3,2,5,6,1,5,4},
{3,5,0,2,5,4,3,4,2,3},
{3,3,2,0,3,2,3,2,2,1},
{4,2,5,3,0,3,4,3,3,2},
{3,5,4,2,3,0,1,4,2,1},
{2,6,3,3,4,1,0,5,1,2},
{3,1,4,2,3,4,5,0,4,3},
{1,5,2,2,3,2,1,4,0,1},
{2,4,3,1,2,1,2,3,1,0}};
int sum,n,i;
char a[1000],b[1000];
while(~scanf("%d",&n))
{
scanf("%s %s",a,b);
sum=0;
for(i=0;i<n;i++)
{
sum+=ca[a[i]-'0'][b[i]-'0'];
}
printf("%d\n",sum);
}
return 0;
}