当前位置: 首页 > news >正文

北京做网站哪里好推广引流图片

北京做网站哪里好,推广引流图片,php网站开发好找工作吗,邢台无忧网站建设公司题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列&#xff0c;例如&#xff0c;一个有序的数列 A,B,C,D表示 A<B,B<C,C<D。在这道题中&#xff0c;我们将给你一系列形如 A<B的关系&#xff0c;并要求你判断是否能够根据这些关系确定这个…

题目描述

一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列 A,B,C,D表示 A<B,B<C,C<D。在这道题中,我们将给你一系列形如 A<B的关系,并要求你判断是否能够根据这些关系确定这个数列的顺序。

输入格式

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

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

输出格式

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

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

若根据前 x 个关系即发现存在矛盾(如 A<B,B<C,C<A),输出

Inconsistency found after x relations.

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

Sorted sequence cannot be determined.

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

输入输出样例

输入 #1复制

4 6
A<B
A<C
B<C
C<D
B<D
A<B

输出 #1复制

Sorted sequence determined after 4 relations: ABCD.

输入 #2复制

3 2
A<B
B<A

输出 #2复制

Inconsistency found after 2 relations.

输入 #3复制

26 1
A<Z

输出 #3复制

Sorted sequence cannot be determined.

说明/提示

2≤n≤26,1≤m≤600。

这道题考察的是拓扑排序,AcWing 1191. 家谱树(图论,拓扑排序的模板)-CSDN博客 模板在这

我们简单讲讲思路,我们把输出分成三种形式(题目描述先后对应1、2、3),第1种是可以判断得出完整拓扑排序的情况,第2种是有环的情况,第3种就是这两个之外直接输出

第2种:首先判断是否形成环了,做法:记录出现的字母个数,如果最后得到的拓扑序列的大小 小于字母个数,那么就是形成环了

第1种:必须严格的得出所有字母之间的关系,也就是说记录出现字母的个数必须等于拓扑序列的大小而且队列的大小要保持为1,如果超过1了说明有不确定的关系

代码:

#include <bits/stdc++.h>
using namespace std;const int N = 30;
int ind[N],oud[N],cpy[N];
vector<int> e[N];
bool b[N];int n,m,cnt = 0,type = 0;void topsort(int idx){memcpy(ind,cpy,sizeof(cpy));queue<int> q;string ans = "";bool ac = true;for(int i=1;i<=n;i++){if(!b[i]) continue;if(!ind[i]) q.push(i);}while(!q.empty()){if(q.size() >= 2) ac = false;int u = q.front();q.pop();ans += char(u) + 64;for(auto v : e[u]){ind[v] --;if(!ind[v]) q.push(v);}}// if(idx == 28) cout << ans << " " << ans.size() << " " << cnt << endl;if(ans.size() < cnt){// cout << ans.size() << " " << cnt << endl;type = 2;printf("Inconsistency found after %d relations.\n",idx);}if(ans.size() == n && ac){type = 1;printf("Sorted sequence determined after %d relations: ",idx);cout << ans << "." << endl;}
}int main()
{cin >> n >> m;string s;for(int i=1;i<=m;i++){cin >> s;if(type) continue;int A = s[0] - 64,B = s[2] - 64;// cout << A << " " << B << endl;if(!b[A]){b[A] = true;cnt ++;}if(!b[B]){b[B] = true;cnt ++;}if(s[1] == '<'){cpy[B] ++,oud[A] ++;e[A].push_back(B);}else{cpy[A] ++,oud[B] ++;e[B].push_back(A);}topsort(i);}if(!type) cout << "Sorted sequence cannot be determined." << endl;return 0;
}

加油

http://www.shuangfujiaoyu.com/news/21363.html

相关文章:

  • 淄博网站建设公司有多少家网站快速排名服务商
  • 网站开发要学什么语言企拓客软件多少钱
  • 做网站需要记哪些代码怎么看百度关键词的搜索量
  • 品牌网站建设绿d茶新媒体seo培训
  • 温州英文网站建设中国软文网官网
  • 网站分享功能怎么做小网站怎么搜关键词
  • 西安网站建设中企建站电脑速成班短期电脑培训班
  • 网页设计工资一般2017优化排名推广技术网站
  • 如何做自己网站百度手机点击排名工具
  • 大型网络游戏排行榜优化网站排名茂名厂商
  • 海口做网站要多少钱google下载官网
  • 安徽省淮南市城乡建设委员会网站公司企业网站建设
  • 网站设计策划案如何检测网站是否安全
  • 呼和浩特 的网站建设网站seo批量查询工具
  • 古典风网站新乡网站优化公司
  • 大型外包公司如何做好网站推广优化
  • 深圳华大基因公司简介seoul是哪个城市
  • wap html网站模板站长工具网站查询
  • wordpress 文章 路径广告优化师适合女生吗
  • tp5企业网站开发国际新闻最新消息今天
  • 中山市技术支持 中山网站建设百度快照的作用是什么
  • 兼职做一篇微信的网站电商培训课程
  • 青岛网站制作网站怎样做网站平台
  • 如何做网站宣传最新军事新闻
  • 上海柘中建设股份有限公司网站怎样制作网页
  • 网站正能量点进去就能看互联网舆情监测系统
  • 东莞现在哪里有疫情?seo网站优化网站编辑招聘
  • 建设网站前的目的网站首页的优化
  • 黄埔网站建设优化seo无锡营销型网站制作
  • 网站建设 昆山免费b站推广软件