[我的StackoverFlow的第一个问题,所以,HI!]
我不确定这个地方的规则是什么,但我有一个简单的问题如下......
序列23,45,23和23,45,56,23,23,56,45,23是 回文的例子。序列23,45,56不是回文。 序列23,32也不是回文序列。长度为1的序列 永远是一个回文。给定的整数序列可以被分解 分成几部分,使它们都是回文。考虑一下 序列34,45,34,56,34。这可以分为3个回文 序列有34,45,34构成第一个,56个构成 第二和34构成第三。它也可以在5中打破 回文序列每个包含一个数字。
我们要确定给定的最小数量K. 序列可以分解为K回文序列。
答案 0 :(得分:0)
#include<iostream>
using namespace std;
int main() {
int n;
cin>>n;
int num[n];
for(int i=0;i<n;i++)
cin>>num[i];
int c[n];
int co=0;
for(int i=0;i<n;i++){
if(num[i]!=-1){
for(int j=i+1;j<n;++j){
if(num[i]==num[j]){
num[i]=num[j]=-1;
c[co]=j;
co++;
break;
}
}
}
}
if(n-co*2==0){
cout<<1;
}
else{
cout<<n-co*2;
}
}