社区讨论

U400538 组成回文串 50分!!!

题目总版参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lwyzgens
此快照首次捕获于
2024/06/03 21:04
2 年前
此快照最后确认于
2024/06/04 21:03
2 年前
查看原帖
C
#include<iostream>
using namespace std;
char s[100005];
int qp[26],qw=0,we=0;
int main()
{
	int n,m;
	cin >> n >> m;
	for(int i=0;i<n;i++)
	{
		cin >> s[i];
		if(s[i]=='a')
			qp[0]++;
		else if(s[i]=='b')
			qp[1]++;
		else if(s[i]=='c')
			qp[2]++;
		else if(s[i]=='d')
			qp[3]++;
		else if(s[i]=='e')
			qp[4]++;
		else if(s[i]=='f')
			qp[5]++;
		else if(s[i]=='g')
			qp[6]++;
		else if(s[i]=='h')
			qp[7]++;
		else if(s[i]=='i')
			qp[8]++;
		else if(s[i]=='j')
			qp[9]++;
		else if(s[i]=='k')
			qp[10]++;
		else if(s[i]=='l')
			qp[11]++;
		else if(s[i]=='m')
			qp[12]++;
		else if(s[i]=='n')
			qp[13]++;
		else if(s[i]=='o')
			qp[14]++;
		else if(s[i]=='p')
			qp[15]++;
		else if(s[i]=='q')
			qp[16]++;
		else if(s[i]=='r')
			qp[17]++;
		else if(s[i]=='s')
			qp[18]++;
		else if(s[i]=='t')
			qp[19]++;
		else if(s[i]=='u')
			qp[20]++;
		else if(s[i]=='v')
			qp[21]++;
		else if(s[i]=='w')
			qp[22]++;
		else if(s[i]=='x')
			qp[23]++;
		else if(s[i]=='y')
			qp[24]++;
		else if(s[i]=='z')
			qp[25]++;
	}
	for(int i=0;i<26;i++)
	{
		if(qp[i]==1||qp[i]%2!=0)
			qw++;
	}
	if(qw>m)
		cout << -1;
	else if(qw==0)
		cout << 0;
	else
	{
		for(int i=1;i<=m;i++)
		{
			qw--;
			if(qw<=m)
			{
				cout << i;
				break;
			}
		}
	}
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...