Scrooge McDuck keeps his most treasured savings in a home safe with a combination lock. Each time he wants to put there the treasures that he's earned fair and square, he has to open the lock.
![](https://i-blog.csdnimg.cn/blog_migrate/dbee840ac94d4efcb847c75249dc061c.png)
The combination lock is represented by n rotating disks with digits from 0 to 9 written on them. Scrooge McDuck has to turn some disks so that the combination of digits on the disks forms a secret combination. In one move, he can rotate one disk one digit forwards or backwards. In particular, in one move he can go from digit 0 to digit 9 and vice versa. What minimum number of actions does he need for that?
The first line contains a single integer n (1 ≤ n ≤ 1000) — the number of disks on the combination lock.
The second line contains a string of n digits — the original state of the disks.
The third line contains a string of n digits — Scrooge McDuck's combination that opens the lock.
Print a single integer — the minimum number of moves Scrooge McDuck needs to open the lock.
5 82195 64723
13
In the sample he needs 13 moves:
- 1 disk:
- 2 disk:
- 3 disk:
- 4 disk:
- 5 disk:
求密码锁最少转动次数,直接字符串操作。
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#include<set>
#include<cmath>
#define MAX 1e9
using namespace std;
int main()
{
int n;
while(cin>>n!=NULL)
{
int ans=0;
char a[1008],b[1008];
cin>>a>>b;
for(int i=0; i<n; i++)
{
int t=abs(a[i]-b[i]);
if(t>5)
t=10-t;
ans+=t;
}
cout<<ans<<endl;
}
return 0;
}