标签:最大值 amp blog += 有一个 回文串 语言 通过 pac
对于每组测试数据,输出一个代表答案的整数。·
Sample Input4 4 1 1 2 4 3 2 2 2 5 1 1 1 1 1 5 1 1 2 2 3Sample Output
3 6 1 3
题目很简单,中文的,好理解,给出一些字符的个数,然后组成不同的回文串组合,一个组合中可以有一个或多个回文串,要把字符全用完,每个回文串组合中找出一个长度最小的,求这些最小长度的最大值。
直接求奇数字符串的的个数,然后把总的字符按这个个数等分,可以求出答案。
代码:
#include <iostream> #include <string> using namespace std; int main() { int a; int t,n; cin>>t; while(t --) { int o = 0,sum = 0; cin>>n; for(int i = 0;i < n;i ++) { cin>>a; if(a%2)o++; sum += a; } if(o) { sum /= o; if(sum && sum % 2 == 0)sum --;//如果存在奇数个数的字符,那么形成的回文串大小一定也是奇数。 } cout<<sum<<endl; } }
标签:最大值 amp blog += 有一个 回文串 语言 通过 pac
原文地址:http://www.cnblogs.com/8023spz/p/7786860.html