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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 为什么我用LaTeX排版的那个双引号编译出来很奇怪,如下图,怎么做才能出现对的?[通俗易懂]

    为什么我用LaTeX排版的那个双引号编译出来很奇怪,如下图,怎么做才能出现对的?[通俗易懂]为什么我用LaTeX排版的那个双引号编译出来很奇怪,如下图,怎么做才能出现对的?)我是个LaTeX小白,百度了很久,没有解决办法,求救。引号是在英文输入法下输的,左引号连按两次esc下边那个键,右引号连按两次enter左边那个键。…

    2022年6月25日
  • Android ListView几种Adapter用法简介「建议收藏」

    Android ListView几种Adapter用法简介「建议收藏」ArrayAdapter适合非常简单的数据显示,很方便,很简单。SimpleAdapter可以自定义Item布局,用于显示交简单的布局及控件,但布局内的控件如按钮等无法获取到焦点,当然也就无法获取到他们的点击事件。SimpleCursorAdapter与SimpleAdapter相似,只是他的数据源是Cursor类型而已。BaseAdpter子类最常用的ListView数据适配器,通过继承BaseAdpter可以较灵活的实现数据的绑定,同时通过使用View

    2022年7月22日
  • VC++ CString 与 int 类型转换「建议收藏」

     摘自:http://blog.csdn.net/a951084634/article/details/6961133 CString_temp="100";int_int;_int=atoi(_temp);======================================================================CSt…

    2022年4月6日
  • 微机原理及汇编语言(微机原理及单片机应用技术)

    看到一篇讲解微机原理或者汇编语言蛮详细的,因此分享给大家!1、在计算机中数的表示方式因为计算机中只能存储二进制数,所以一般都是通过二进制直接进行存储,但是为了方便阅读和程序员的编码简单化,就出现了八进制、十进制、十六进制,一般在汇编的学习过程中以二、十、十六进制为主。四种数据的表示形式符号是:B(二进制)、O(八进制),D(十进制),H(十六进制)二进制、八进制

    2022年4月15日
  • SpringBoot——MybatisPlus条件查询

    SpringBoot——MybatisPlus条件查询SpringBoot——MybatisPlus条件查询

    2022年4月23日
  • js添加元素的三种方法

    js添加元素的三种方法点击按钮变为:提前说下结论:善用innerHTML属性,但是不能过于依赖,否则会造成改动过大,不利于程序稳定性。首先,结构部分为:<div><ol><liid=”spe”>speedo</li><li>arena</li><li>balenire</li></ol>.

    2022年6月22日

发表回复

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

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