1146 Topological Order「建议收藏」

1146 Topological Order「建议收藏」题目题意:在给定有向图中,对于给定查询序列是否是有向图中的一个拓扑序列,记录非法序列下标tip:模拟拓扑排序#include<iostream>#include<vector>usingnamespacestd;intin_num[1003]={0};inttemp[1003]={0};vector<int>s[1003…

大家好,又见面了,我是你们的朋友全栈君。

题目

题意:在给定有向图中,对于给定查询序列是否是有向图中的一个拓扑序列,记录非法序列下标 

tip:模拟拓扑排序


#include<iostream>
#include<vector>
using namespace std;
int in_num[1003]= {0};
int temp[1003]= {0};
vector<int> s[1003];
int checked(int x) {
	if(temp[x])
		return 1;
	for(int i=0; i<s[x].size(); ++i)
		temp[s[x][i]]--;//去边 
	return 0;
}
int main() {
	int n,m;
	cin>>n>>m;
	for(int i=0; i<m; ++i) {
		int a,b;
		cin>>a>>b;
		in_num[b]++;//记录b点入度 
		s[a].push_back(b);//记录a的出边 
	}
	int k;
	cin>>k;
	vector<int>ans;
	for(int i=0; i<k; ++i) {
		int flag=0;
		for(int l=1; l<=n; ++l)
			temp[l]=in_num[l];
		for(int j=0; j<n; ++j) {
			int a;
			cin>>a;
			if(checked(a))
				flag=1;//只要有一点不符合入度为零,就为不合法 
		}
		if(flag)
			ans.push_back(i);
	}
	cout<<ans[0];
	for(int i=1; i<ans.size(); ++i)
		cout<<" "<<ans[i];
	return 0;
} 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136498.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL存储的字段是不区分大小写的,你知道吗?

    点击上方Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!00 简单回顾之前写过一篇关于mysql 对表大…

    2022年2月28日
    37
  • 国内首套IEC 61850标准的变电站自动化系统在南瑞出厂

    国内首套IEC 61850标准的变电站自动化系统在南瑞出厂

    2021年7月29日
    57
  • 邮件编辑指南

    邮件编辑指南

    2021年7月3日
    72
  • 斗地主老是输?一起用Python做个AI出牌器![通俗易懂]

    斗地主老是输?一起用Python做个AI出牌器![通俗易懂]前言最近在网上看到一个有意思的开源项目,快手团队开发的开源AI斗地主——DouZero。今天我们就一起来学习制作一个基于DouZero的斗地主出牌器,看看AI是如何来帮助我们斗地主的吧!首先一起来看看AI出牌器的效果:下面,我们开始介绍这个AI出牌器的制作过程。一、核心功能设计首先我们这款出牌器是基于DouZero开发的,核心是需要利用训练好的AI模型来帮住我们,给出最优出牌方案。其次关于出牌器,先要需要确认一个AI出牌角色,代表我们玩家自己。我们只要给这个A

    2022年4月29日
    84
  • ID卡(工卡)复制到手机NFC「建议收藏」

    ID卡(工卡)复制到手机NFC「建议收藏」1.很多单位的工卡都是ID卡,而读卡机,一般是多频的,支持多种卡,那么如何把ID卡写到手机NFC中,实现“忘带卡自由”呢?2.前提条件:用手机NFC,在单位的刷卡机上刷卡,提示“非法卡”。说明打卡机支持NFC,如果不支持,请略过本文3.在单位的打卡机上正常刷卡,屏幕上会提示卡号。或者有的工卡上带卡号,一般ID卡号是00开头或000开头的10位卡号。如果不是,说明不是ID卡,请略过本文。有的单位的人事系统里也会记录员工的物理ID卡号。或者用其他读卡器读ID卡,也能读到卡号。4.获取到ID物理卡号后

    2022年5月1日
    1.6K
  • c++禁止隐式转换_无法将int隐式转换为类

    c++禁止隐式转换_无法将int隐式转换为类C++有一个很方便的功能—隐式转换,比如有一个函数voidfunc(doublef);调用它的时候func(5);func(5.0);都是有效的。但有时候,这个功能就很麻烦了。比如:classA{public:A(conststring&amp;v){///…}}void…

    2022年10月11日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号