Codeforces Round #290 (Div. 2) C. Fox And Names
创始人
2024-03-02 07:14:54

翻译:

Fox Ciel将发表一篇关于FOCS (Fox操作的计算机系统,发音:“Fox”)的论文。她听到一个谣言:报纸上的作者名单总是按照词典顺序排列的。

在查看了一些例子后,她发现有时这不是真的。在一些论文中,作者的名字没有按照正常意义上的词典顺序排序。但是,在对字母表中字母的顺序进行了一些修改之后,作者的顺序就变成了字典编纂者的顺序。

她想知道,在拉丁字母表中是否存在一种字母顺序,使得她提交的论文上的名字是按照字典顺序排列的。如果是这样,你应该找到任何这样的订单。

字典顺序的定义如下。当我们比较s和t时,首先我们找到最左边的位置具有不同的字符:si≠ti。如果没有这样的位置(即s是t的前缀,反之亦然),则最短的字符串更小。否则,我们比较字符si和ti根据它们在字母表中的顺序。

输入
第一行为整数n(1≤n≤100):名称个数。

下面n行的每一行都包含一个字符串namei(1≤|namei|≤100),即第i个名称。每个名字只包含小写的拉丁字母。所有的名字都不一样。

输出
如果存在这样的字母顺序,给定的名字是按字典顺序排列的,输出任何这样的顺序作为字符'a' - 'z'的排列(即首先输出修改后的字母表的第一个字母,然后输出第二个字母,依此类推)。

否则输出一个单词“Impossible”(不带引号)。

例子
inputCopy
3.
里维斯特
沙密
期刊
outputCopy
bcdefghijklmnopqrsatuvwxyz
inputCopy
10
旅游
切赫
wjmzbmr
yeputons
vepifanov
scottwu
oooooooooooooooo
订阅者
rowdark
tankengineer
outputCopy
不可能的
inputCopy
10
切赫
egor
endagorion
feferivan
ilovetanyaromanova
kostka
dmitriyh
maratsnowbear
bredorjaguarturnik
cgyforever
outputCopy
aghjlnopefikdmbcqrstuvwxyz
inputCopy
7

护理
小心
小心翼翼地
becarefuldontforgetsomething
otherwiseyouwillbehacked
古德勒克
outputCopy
acbdefhijklmnogpqrstuvwxyz

思路:

因为每个人名字都是字典序排序,所以我们用这个可以来每次确定两个字母的关系,然后二维数组标记,之后dfs,如果有两个相同的字母相互前后标记,那么就是不可能,可能的话就用字典树来记录一下。

代码:

#include 
#include 
#include 
#include 
#include 
#include 
#include
#include
#include
#include
#include
#include
#include
using namespace::std;
typedef long long  ll;
inline __int128 read(){__int128 x = 0, f = 1;char ch = getchar();while(ch < '0' || ch > '9'){if(ch == '-')f = -1;ch = getchar();}while(ch >= '0' && ch <= '9'){x = x * 10 + ch - '0';ch = getchar();}return x * f;
}
inline void print(__int128 x){if(x < 0){putchar('-');x = -x;}if(x > 9)print(x / 10);putchar(x % 10 + '0');
}
int n;
int tree[27][27];
int bj[27];
string a,b,ss;
int lls=0;
void dfs(int x){if (lls==1) {return;}bj[x]=1;for (int i =0; i<27; i++) {if (lls==1) {return;}if (tree[x][i]) {if (bj[i]==1) {cout<<"Impossible\n";lls=1;return;}if (bj[i]!=2) {dfs(i);if (lls==1) {return;}}}}bj[x]=2;if (x+'a'<='z') {ss+=(x+'a');}//    cout<>n;cin>>a;
//    cout<>b;
//        cout<b.size()) {cout<<"Impossible\n";return 0;}a=b;}for (int i = 0; i<27; i++) {if (bj[i]!=2) {dfs(i);if (lls) {return 0;}}}cout<

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...