如果自己是回文串可以做中心

如果一个串和另一个串的转置相等则可以凑一对

优先配对

#include <bits/stdc++.h>
using namespace std; int n,m,u[105];
string str[105];
vector <int> a,b; signed main() {
ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>str[i];
int ans=0;
for(int i=1;i<=n;i++) {
if(u[i]) continue;
for(int j=i+1;j<=n;j++) {
int flag=1;
for(int k=0;k<m;k++) if(str[i][k]!=str[j][m-k-1]) flag=0;
if(flag) {
u[i]=1;
u[j]=1;
a.push_back(i);
b.push_back(j);
ans+=2;
break;
}
}
}
int flag=0;
for(int i=1;i<=n;i++) {
int tmp=1;
for(int k=0;k<m;k++) if(str[i][k]!=str[i][m-k-1]) tmp=0;
if(tmp) flag=i;
}
if(flag) ++ans;
cout<<ans*m<<endl;
for(int i=0;i<a.size();i++) cout<<str[a[i]];
cout<<str[flag];
for(int i=b.size()-1;i>=0;--i) cout<<str[b[i]];
}

最新文章

  1. mssql 获取自增列起始及增量
  2. 记一次上传文件到七牛云存储的经历(Plupload &amp; UEditor)(.net)
  3. Java--剑指offer(3)
  4. jquery.validation.js 表单验证
  5. JAVA中的NIO(二)
  6. codefoces round193a
  7. 【BZOJ】【1055】【HAOI2008】玩具取名
  8. Python之路,Day20 - 分布式监控系统开发
  9. PHP Math
  10. Delphi事件的广播2
  11. 连接Oracle数据库的时候报了“Got minus one from a read call”
  12. html路径问题
  13. [Swift]LeetCode820. 单词的压缩编码 | Short Encoding of Words
  14. datetime模块+calendar模块
  15. python初级装饰器编写
  16. linux学习笔记---grep
  17. [转]HTML DIV+CSS 命名规范大全
  18. VS无法导航到插入点F12失败
  19. PHP的ISAPI和FastCGI比较
  20. vue.js 项目打包

热门文章

  1. Python面试(基础)
  2. Android中使用Notification在状态栏上显示通知
  3. C#中StreamWriter类使用总结
  4. 【已解决2】pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 110: invalid continuation byte
  5. Resnet——深度残差网络(二)
  6. java如何解决线程安全问题
  7. ext4文件系统启动自检的必要性
  8. 走进MEasy的世界:基于STM32MP1的IOT参考设计
  9. grep 基本用法
  10. 洛谷P1464 Function  HDU P1579 Function Run Fun