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


相关推荐

  • 【SC随笔】Java测试mutator方法的注意点

    【SC随笔】Java测试mutator方法的注意点对于mutator方法,仅仅测试返回值是否符合预期是不完备的,mutator改变了对象,就需要用observor方法观察是否发生了预期改变

    2025年11月4日
    7
  • spring boot的自动配置原理_springboot的工作原理

    spring boot的自动配置原理_springboot的工作原理深入Springboot启动流程+自动配置原理?写在前面?相关常见面试题Springboot启动入口@SpringBootConfiguration解读@ComponentScan解读@EnableAutoConfiguration解读(重点)@AutoConfigurationPackage解读@Import({AutoConfigurationImportSelector.class})解读(重点)?写在前面?自从SpringBoot问世以来,开发界可以说是乱了套。我还记得我朋友几年前去参加

    2022年8月20日
    6
  • mysql 时间戳转日期格式[通俗易懂]

    mysql 时间戳转日期格式[通俗易懂]一、MySQL日期和时间戳的转换1.日期转时间戳selectUNIX_TIMESTAMP(‘2018-12-2512:25:00’);结果:15457119002.时间戳转日期:FROM_UNIXTIME(unix_timestamp)–unix_timestamp为时间戳selectFROM_UNIXTIME(1545711900);结果:2018-12-251…

    2022年6月21日
    44
  • golang中的json decode丢失精度的问题

    golang中的json decode丢失精度的问题最近发现的一个坑当用enconding/json包的时候,数字默认是处理为float64类型的,这就导致了int64可能会丢失精度,这时候要用dec.UseNumber将处理的数字转换成json.Number的形式,再自己去做typeassertion代码packagemainimport( "fmt" "encoding/json" "strings")funcCr…

    2022年7月17日
    19
  • jdk1.7 hashmap扩容_Java并发实现原理:JDK源码剖析

    jdk1.7 hashmap扩容_Java并发实现原理:JDK源码剖析HashMap简介:HashMap在底层数据结构上采用了数组+链表+红黑树,通过散列映射来存储键值对数据因为在查询上使用散列码(通过键生成一个数字作为数组下标,这个数字就是hashcode)所以在查询上的访问速度比较快,HashMap最多允许一对键值对的Key为Null,允许多对键值对的value为Null。它是非线程安全的。在排序上面是无序的。HashMap的主要成员变量…

    2022年9月21日
    3
  • C Primer Plus 第12章 12.6 分配内存:malloc()和free()

    C Primer Plus 第12章 12.6 分配内存:malloc()和free()

    2022年2月23日
    46

发表回复

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

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