思路:

暴力枚举。

实现:

 #include <iostream>
#include <set>
#include <vector>
using namespace std; void get_subseq(string s, string x, int cur, set<string>& st)
{
if (cur == s.length()) { if (x != "") st.insert(x); return; }
get_subseq(s, x + s[cur], cur + , st);
get_subseq(s, x, cur + , st);
} bool is_subseq(string s, string t)
{
int i = , j = ;
while (i < s.length() && j < t.length())
{
if (t[j] != s[i]) j++;
else i++;
}
return i == s.length();
} bool check(string s, vector<string> v)
{
for (int i = ; i < v.size(); i++)
{
bool flg = false;
int l = v[i].length();
for (int j = ; j < l; j++)
{
string tmp = v[i].substr(j, l - j) + v[i].substr(, j);
if (is_subseq(s, tmp)) { flg = true; break; }
}
if (!flg) return false;
}
return true;
} int main()
{
int n;
string s;
while (cin >> n)
{
vector<string> v;
for (int i = ; i < n; i++) { cin >> s; v.push_back(s); }
set<string> st;
vector<string> buf;
get_subseq(v[], "", , st);
for (auto it: st)
{
int l = it.length();
for (int i = ; i < l; i++)
{
string tmp = it.substr(i, l - i) + it.substr(, i);
buf.push_back(tmp);
}
}
for (auto it: buf) st.insert(it);
int maxn = ; string ans = "zzzzzzzzzz";
for (auto it: st)
{
if (check(it, v) && (it.length() > maxn || (it.length() == maxn && it < ans)))
{
ans = it;
maxn = it.length();
}
}
if (ans == "zzzzzzzzzz") cout << << endl;
else cout << ans << endl;
}
return ;
}

hihocoder1829 Tomb Raider的更多相关文章

  1. Tomb Raider(暴力模拟)

    Tomb Raider https://hihocoder.com/problemset/problem/1829?sid=1394836 时间限制:1000ms 单点时限:1000ms 内存限制:2 ...

  2. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 B Tomb Raider 【二进制枚举】

    任意门:http://hihocoder.com/problemset/problem/1829 Tomb Raider 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 L ...

  3. ACM-ICPC2018北京网络赛 Tomb Raider(暴力)

    题目2 : Tomb Raider 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Lara Croft, the fiercely independent daughte ...

  4. hihoCoder-1829 2018亚洲区预选赛北京赛站网络赛 B.Tomb Raider 暴力 字符串

    题面 题意:给你n个串,每个串都可以选择它的一个长度为n的环形子串(比如abcdf的就有abcdf,bcdfa,cdfab,dfabc,fabcd),求这个n个串的这些子串的最长公共子序列(每个串按顺 ...

  5. Tomb Raider

    Lara Croft, the fiercely independent daughter of a missing adventurer, must push herself beyond her ...

  6. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛-B:Tomb Raider(二进制枚举)

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Lara Croft, the fiercely independent daughter of a missing adv ...

  7. Tomb Raider HihoCoder - 1829 (二进制枚举+暴力)(The 2018 ACM-ICPC Asia Beijing First Round Online Contest)

    Lara Croft, the fiercely independent daughter of a missing adventurer, must push herself beyond her ...

  8. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  9. Mac使用最多的软件,整理集合

    软件资源 #[PDF移除密码]Cisdem PDFPasswordRemover 3.0.0 [TNT] #Alfred_3.1.1_737 #fwmso2016vlu2.0 #iHosts #Omn ...

随机推荐

  1. PHP mysql_fetch_array与mysql_fetch_row的区别

    如果你的表里面有字段a,b,c那么你用mysql_fetch_row() 就返回array(1=>a的值,2=>b的值,3=>c的值)这个时候你读数组的话,只能这样写$array[1 ...

  2. LearnToRank

    1 概述 RankNet.LambdaRank和LambdaMART是三个关系非常紧密的机器学习排序算法.简而言之,RankNet是最基础,基于神经网络的排序算法:而LambdaRank在RankNe ...

  3. docker学习 (三) Windows 10 安装Docker

    Docker CE: 社区版,免费. Docker EE: 企业版,收费. 安装:             Windows 10 Pro 64, 必须开启Hyper-v 下载:Docker for W ...

  4. ununtu 下安装 Nvidia 显卡驱动

    本人电脑硬件配置:CPU : AMD Athlon(tm) II X2 215 Processor × 2 显示卡 : GeForce 6150SE nForce 430/integrated/SSE ...

  5. 有关如何线程安全的使用map(hashMap)

    最近在写一个多线程中控制输出顺序的系统中的一个代码,使用了map的数据结构.具体的业务是需要一个单例的对象,然后需要在多线程的环境下实现添加和删除的操作.部分代码如下: public class Up ...

  6. supervisor uwsgi配置文件

    ; ================================ ; uwsgi supervisor ; ================================ [program:uw ...

  7. SCUT - 114 - 作业之数学篇 - 杜教筛

    https://scut.online/p/114 \(A(n)=\sum\limits_{i=1}^{n} \frac{lcm(i,n)}{gcd(i,n)}\) \(=\sum\limits_{i ...

  8. HDU2222【AC自动机(基础·模板)】

    Frist AC zi dong ji(Aho-Corasick Automation) of life #include <bits/stdc++.h> using namespace ...

  9. ES6之Promise对象学习——8个例子学会Promise

    目录 Promise 立即执行 Promise 三种状态 Promise 不可逆性 链式调用 Promise.then()回调异步性 Promise中的异常 Promise.resolve() res ...

  10. 我叫mt3.2更新公告

    1.增加装备合成功能 可以用材料将现有的75级紫装升级为80级紫装. 2.增加全新公会副本 增加新的公会副本:神庙外围.掉落可以进阶装备的材料. 3.增加全新个人副本 增加新的个人副本:奴隶市场. 4 ...