题解 P6491 [COCI2010-2011#6] ABECEDA
1.题解 P7763 [COCI2016-2017#5] Ronald2.题解 P6497 [COCI2016-2017#2] Prosječni3.题解 P7537 [COCI2016-2017#4] Rima4.题解 P8017 [COCI2013-2014#4] UTRKA5.题解 P7751 [COCI2013-2014#2] PUTNIK6.题解 P7752 [COCI2013-2014#2] PALETA7.题解 P7586 [COCI2012-2013#1] SNAGA8.题解 P6485 [COCI2010-2011#4] PROSJEK9.题解 P6447 [COCI2010-2011#1] ŽABE10.题解P6677 [COCI2019-2020#2] Checker11.题解P8073 [COCI2009-2010#7] BAKICE12.题解P8084 [COCI2011-2012#4] BROJ13.题解P6370 [COCI2006-2007#6] KAMEN14.题解 P7165 [COCI2020-2021#1] Papričice15.题解 P9911 [COCI 2023/2024 #2] Kuglice16.题解 P6356 [COCI2007-2008#3] CUDAK17.题解 P7309 [COCI2018-2019#2] Kocka18.题解 P6548 [COCI2010-2011#2] IGRA
19.题解 P6491 [COCI2010-2011#6] ABECEDA
传送门。
分析
两个字符大小关系不变,并且具有传递性,我们可以联想到拓扑排序来解决。
因此,我们就通过字符串的大小关系,推断出一些字符的大小关系,然后拓扑排序即可。
#include <bits/stdc++.h> #include <vector> #include <string> #include <queue> //#define int long long using namespace std; const int N = 1e5+5; int n, m,top; int d[N]; char st[N]; string s[N]; vector<int > lj[N]; bool vis[N]; inline void end1() { cout<<"?"; exit(0); } inline void endd2() { cout<<"!"; exit(0); } inline void fc(string s,string t) { int len=min(s.size(),t.size()); for(int i=0; i<len; ++i) { if(s[i]==t[i]) continue; d[t[i]]++; lj[s[i]].push_back(t[i]); return ; } if(s.size()>t.size()) endd2(); return ; } signed main() { cin>>n; for(int i=1; i<=n; ++i) { cin>>s[i]; for(int j=0; j<s[i].size(); ++j) vis[s[i][j]]=1; } for(int i=1; i<n; ++i) for(int j=i+1; j<=n; ++j) fc(s[i],s[j]); queue<int > q; for(int i='a'; i<='z'; ++i) if(vis[i]&&!d[i]) q.push(i); // for(int i='a';i<='z';++i) cout<<d[i]<<" ";cout<<endl; while(!q.empty()) { int now=q.front(); q.pop(); if(!q.empty()) end1(); st[++top]=now; for(auto to:lj[now]) if(!(--d[to])) q.push(to); } for(int i='a'; i<='z'; ++i) if(vis[i]&&d[i]) endd2(); for(int i=1; i<=top; ++i) cout<<st[i]; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!