日志11
在“小红的字符串”一题中
思路:检测在对称位置的字符需要几步才能相同,由于小红只能将其右移,所以就有两种路径:在左侧的向右移,或者在右侧的向右移经过‘z’->‘a’之后再与之相同。这就需要取两种方法所需的步数再进行比较。
#include<iostream> #include<bits/stdc++.h> using namespace std; int jdz (int a){ if(a>=0) {return a;} else {return -a;} } int main(){ string s; cin>>s; int a=s.length(); int o=0; for(int i=0;i<a/2;i++) { o+=min(26-jdz(s[i]-s[a-1-i]),jdz(s[i]-s[a-1-i])); } cout<<o; return 0; }