牛客周赛 Round 48 B题小红的伪回文子串成 题型:字符串

40 阅读1分钟

ac.nowcoder.com/acm/contest…

题意解析

题面的意思是说一个字符串的每个子串变成回文子串,一共需要多少步?

思想

暴力双重循环枚举每个子串,判断每个子串变成回文子串需要多少步.答案累加

#include<bits/stdc++.h>
using namespace std;
int ans;

int check(string s)
{
	int cnt=0;
	if(s.size()==1)return 0;
	else
	{
		for(int i=0,j=s.size()-1;i<j;i++,j--)
		{
			if(s[i]!=s[j])cnt++;			
		}
    return cnt;
	}
}
int main()
{
 string s;cin>>s;
 for(int i=0;i<s.size();i++)
 {
 	for(int j=0;j<s.size()-i;j++)
 	{
 	   string temp=s.substr(i,j+1);
		ans+=check(temp);	
	}
 }
 cout<<ans;
return 0;
} 

image.png