求助
  • 板块灌水区
  • 楼主int4096
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/11/13 12:03
  • 上次更新2023/11/4 00:44:08
查看原帖
求助
542452
int4096楼主2021/11/13 12:03

rt

题目

啊啊

我的代码:

#include <bits/stdc++.h>
using namespace std;
int cnt,i;
string s;
string c="abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
int main(){
	cin>>s;
	if(s[0]>'a') cnt+=((s[0]-96)+('a'-96))%26;
	else if(s[0]=='a') cnt+=0;
	else cnt+=(s[0]-96)-('a'-96);
	//cout<<cnt<<endl;
	for(i=0;i<s.size()-2;i++){
		if(s[i]>s[i+1]) cnt+=min((s[i+1]-96+26) - (s[i]-96), (s[i]-96) - (s[i+1]-96));//前面一个比后面一个大 
		else if(s[i]==s[i-1]) cnt+=0;//前后一样 
		else cnt+=min((s[i+1]-96) - (s[i]-96) , (s[i]-96+26)-(s[i+1]-96));//前面一个比后面一个小 
		//cout<<cnt<<endl;
	}
	if(s[i]>s[i+1]) cnt+=min((s[i+1]-96+26) - (s[i]-96), (s[i]-96) - (s[i+1]-96));//前面一个比后面一个大 
	else if(s[i]==s[i-1]) cnt+=0;//前后一样 
	else cnt+=min((s[i+1]-96) - (s[i]-96) , (s[i]-96+26)-(s[i+1]-96));//前面一个比后面一个小 
	cout<<cnt<<endl;
	return 0;
}

大佬求调

2021/11/13 12:03
加载中...