P1347 排序
创始人
2025-05-30 16:06:40
0

题目描述

一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列 A,B,C,D 表示A

输入格式

第一行有两个正整数 n,m,n 表示需要排序的元素数量,2≤n≤26,第 1 到 n 个元素将用大写的 A,B,C,D… 表示。m 表示将给出的形如A

接下来有 m 行,每行有 3 个字符,分别为一个大写字母,一个 < 符号,一个大写字母,表示两个元素之间的关系。

输出格式

若根据前 xx 个关系即可确定这 nn 个元素的顺序 yyy..y(如 ABC),输出

Sorted sequence determined after xxx relations: yyy...y.

若根据前 xx 个关系即发现存在矛盾(如A

Inconsistency found after x relations.

若根据这 m 个关系无法确定这 n 个元素的顺序,输出

Sorted sequence cannot be determined.

(提示:确定 nn 个元素的顺序后即可结束程序,可以不用考虑确定顺序之后出现矛盾的情况)

输入输出样例

输入 #1复制

4 6
A 

输出 #1复制

Sorted sequence determined after 4 relations: ABCD.

解析:

这道题第一眼想到的就是先后顺序,这是可以想到拓扑排序。

注意:char(i+"A") != A这是我在测试是总过不了的。字符串和字符要分辨

#include
using namespace std;
const int N = 50;
struct Node {int u;int val;Node(int u = 0,int val = 0):u(u),val(val){}
};
vector vec[N];
int in[N];
set s1;
int in1[N];
int n, m,k,have,sum,ans;
vector vv;
void topu() {vv.clear();queue q;for (int i = 0; i < 26; i++) {if (in1[i] == 0 && s1.count(i)) {q.push(Node(i, 1));sum++;vv.push_back(char(i + 'A'));}}while (!q.empty()) {int u = q.front().u;int val = q.front().val;q.pop();for (int i = 0; i < vec[u].size(); i++) {int v = vec[u][i];in1[v]--;if (in1[v] == 0) {sum++;q.push(Node(v, val + 1));ans = max(ans, val + 1);vv.push_back(char(v + 'A'));}}}if (ans == n) {printf("Sorted sequence determined after %d relations: ", k);for (int i = 0; i < vv.size(); i++) {cout << vv[i];}cout << ".";exit(0);}else if(sum != have) {printf("Inconsistency found after %d relations.", k);exit(0);}
}
int main() {cin >> n >> m;for (int i = 1; i <= m; i++) {string s;cin >> s;k = i;vec[s[0] - 'A'].push_back(s[2] - 'A');s1.insert(s[0] - 'A');s1.insert(s[2] - 'A');have = s1.size();in[s[2] - 'A']++;sum = 0;ans = 0;memcpy(in1, in, sizeof(in));topu();}printf("Sorted sequence cannot be determined.");return 0;
}

相关内容

热门资讯

原创 中... 据中国青年报报道,近日,中国四艘海警船编队进入钓鱼岛海域进行常规巡航,依照既定的维权程序,船队在海域...
原创 特... 2025年11月9日,美国总统特朗普在自己的社交平台TruthSocial上宣布,他提名约翰·科尔担...
top等级胡瑾刑事律师团队:死... 在刑事法律领域,辩护律师的专业能力与经验直接关乎当事人的合法权益能否得到充分保障。随着法治建设的深入...
霸王茶姬90后创始人将成常州女... 来源:一波说传承有道 近日,一场即将举行的婚礼悄然成为财经圈与大众舆论场共同关注的焦点。 一张流传于...
常州法院2025年前三季度调解... 调解结案16474件、调解成功率24.08%——这是2025年前三季度常州法院交出的司法成绩单。通过...
安徽省政协研究室副主任陈鑫已任... 据铜陵市政府官网消息,11月20日上午,市委举行理论学习中心组学习会议,邀请省委社会工作部副部长高维...
原创 联... 据光明网报道,11月19日,在联合国大会的讨论中,日本企图争取成为安理会常任理事国的梦想再次破灭,令...
南部关于全县规范法律咨询服务机... 一、专项行动时间 自即日起至2025年12月。 二、举报受理范围 社会各界反映强烈的某些法律咨询服务...
“男子持刀入室盗窃”视频引发关... 近日,一段疑似“小偷”入室盗窃被业主家中监控拍下的视频在网上引发关注。11月21日晚,“翠屏公安”微...