题意:





思路:

裸的暴搜 …….

但是要注意如果你不用所有的按键就能输出最优解的话一定要把所有的字母都安排到一个位置….

我的一群PE就是这么来的……

为什么写的人这么少……

// by SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int b,l,d,mod=10000007,vis[10000007],rec[66],tot=0,change[66],answer=0,num[10000007],ANS[66];
char s[1005][20];
void dfs(int x,int used)
{
if(used==b)
{
int ans=0;
tot++;
for(int i=1;i<=b;i++)
for(int j=rec[i-1]+1;j<=rec[i];j++)
change[j]=i;
for(int j=1;j<=d;j++)
{
int jy=0;
for(int k=1;k<=s[j][0];k++)
{
jy=(jy*l+change[s[j][k]])%mod;
}
if(vis[jy]!=tot)
{
vis[jy]=tot;
ans++;
}
else
{
if(num[jy]!=tot)
{
num[jy]=tot;
ans--;
}
}
}
if(answer<=ans&&change[l]==b)
{
answer=ans;
for(int i=1;i<=l;i++)
{
ANS[i]=change[i];
}
}
return;
}
for(int i=x+1;i<=l;i++)
{
rec[used]=i;
dfs(i,used+1);
}
}
int main()
{
scanf("%d%d%d",&b,&l,&d);
rec[b]=l;
for(int i=1;i<=d;i++){
scanf("%s",s[i]+1);
s[i][0]=strlen(s[i]+1);
for(int j=1;j<=s[i][0];j++)
s[i][j]=s[i][j]-'A'+1;
}
dfs(0,1);
printf("%d\n",answer);
for(int i=1;i<=l;i++)
{
printf("%c",i+'A'-1);
if(ANS[i]!=ANS[i+1])puts("");
}
}

最新文章

  1. jQuery EasyUI Combobox 无法获取属性 options 的值: 对象为 null 或未定义
  2. HDU2527 哈夫曼编码
  3. 导出 XE6 预设 Android Style (*.style) 档案
  4. We have detected that MySQL products under the Commercial license are installed. In order to proceed with this GPL installation these Commercial
  5. 【阿里云产品公测】与云引擎ACE第一次亲密接触
  6. JdbcTemplate 、NamedParameterJdbcTemplate、SimpleJdbcTemplate的区别
  7. 游标-Oracle游标汇总
  8. 如何进去bios设置
  9. Scala 编程(一)Scala 编程总览
  10. Android 屏幕适配方式
  11. HTML标记语言和CSS样式的简单运用(Nineteenth Day)
  12. 统计知识选讲(一)——主成分分析(PCA)的思想
  13. 快速排序quick_sort(python的两种实现方式)
  14. git忽略文件不起作用时
  15. Pychram IDE链接MySQL下更新数据的问题总结
  16. Python 实现累加计数的几种方法
  17. 小白必须懂的MongoDB的十大总结
  18. Java基础知识之集合
  19. python django简单的登陆实现
  20. Linux开启和关闭防火墙

热门文章

  1. Caffe C++API 提取任意一张图片的特征系列二----MemoryData
  2. [jzoj 6092] [GDOI2019模拟2019.3.30] 附耳而至 解题报告 (平面图转对偶图+最小割)
  3. BZOJ 3052 树上带修莫队
  4. BZOJ 4184 线段树+高斯消元
  5. 方括号在sqlserver中的作用
  6. canvas绘制饼型图
  7. iOS 11 APP 设计中的几个 UI 设计细节
  8. PHP中的类函数和类对象
  9. addEventListener()与removeEventListener(),追加事件和删除追加事件
  10. 陆、jq基础语法