微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

#301 (div.2) A. Combination Lock

1.题目描写:点击打开链接
2.解题思路:本题要求当前的密码经过最少的转动后和终究的密码1样。可以利用贪心法解决。斟酌第i位,假定当前位a,目标为b,那末有两种转动方式,所需的步数分别为abs(a-b)和10-abs(a,b),取较小者便可。累加后即为最小的步数。
3.代码

#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<algorithm> #include<string> #include<sstream> #include<set> #include<vector> #include<stack> #include<map> #include<queue> #include<deque> #include<cstdlib> #include<cstdio> #include<cstring> #include<cmath> #include<ctime> #include<functional> using namespace std; typedef long long ll; #define me(s) memset((s),sizeof(s)) #define For(i,n) for(int i=0;i<(n);i++) int main() { //freopen("t.txt","r",stdin); int n; while (~scanf("%d",&n)) { string str1,str2; cin >> str1 >> str2; int sum = 0; for (int i = 0; i < n; i++) { int m = abs(str1[i] - str2[i]); m = min(m,10 - m); sum += m; } cout << sum << endl; } return 0; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐