A. Combination Lock
题意:有一个数字锁,共有n圈。给出初始状态和密码,求最小需要转动多少次。
思路:对于每一圈,选取min(dis,10-dis)
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 using namespace std; 5 char s1[1010], s2[1010]; 6 int main() 7 { 8 int n; 9 scanf("%d", &n); 10 scanf("%s%s", s1, s2); 11 int ans = 0; 12 for (int i = 0; i < n; i++) 13 { 14 int n1 = s1[i] - '0'; 15 int n2 = s2[i] - '0'; 16 int dis = abs(n1 - n2); 17 ans += min(dis, 10 - dis); 18 } 19 printf("%d\n", ans); 20 return 0; 21 }