CF 1040A - Palindrome Dance
更新时间:2024-09-26 07:39 浏览量:11
一组由 n 名舞者组成的舞蹈演员正在为闭幕式排练表演。舞者排成一排,他们已经研究过舞蹈动作,不能换位置。其中一些人已经买了一套白色舞蹈服,一些买了一套黑色舞蹈服,其余的人以后再买。
在购买舞蹈服的那天,导演被告知,如果现场舞蹈服的颜色能形成回文,奥运会的参赛者会很高兴。回文是一个从左到右读和从右到左读都相同的序列。导演喜欢这个主意,她想买的舞蹈服颜色要使最左边的舞者舞蹈服的颜色与最右边的舞者舞蹈服的颜色相同,第二个左边的舞者舞蹈服的颜色与第二个右边的舞者舞蹈服的颜色相同,依此类推。
导演知道买一套白色舞蹈服需要多少个木瘤,买一套黑色舞蹈服需要多少个木瘤。您需要确定是否有可能购买西装来组成回文,如果可能,那么这样做的最低成本是多少。请记住,舞者不能改变位置,并且由于官僚主义的原因,不允许为已经有西装的舞者购买新西装,即使这可以减少总体支出。
输入
第一行包含三个整数 n、a 和 b(1≤n≤20,1≤a,b≤100)——舞者人数、白色西装的价格和黑色西装的价格。
下一行包含 n 个数字 ci,其中第 i 个表示第 i 个舞者的西装颜色。数字 0 表示白色,1 表示黑色,2 表示仍需为该舞者购买一套西装。
输出
如果不交换舞者并为有一套新西装的人购买新西装,则无法组成回文,则输出 -1。否则,输出最低价格以获得所需的视觉效果。
没有诀窍,就是把所有可能性讨论一遍,10,12,11,20,21,22,01,02,00