POJ1094 拓扑排序
//Memory: 224K Time: 0MS
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
;
bool g[maxn][maxn];
int indegree[maxn];
int in[maxn];
int vis[maxn];
int flag;
int n, m;
int out[maxn];
string s;
int size;
int ans;
int topologicalSort()
{
memset(vis, , sizeof(vis));
memcpy(in, indegree, sizeof(in));
size = ;
flag = ;
while (size < n){
;
int next;
; i < n; i++){
if (vis[i]) continue;
) {
num++;
) break;
next = i;
}
}
) ;
else {
out[size++] = next;
vis[next] = ;
; i < n; i++) {
if ( g[next][i] && !vis[i] )
in[i]--;
}
)
flag = ;
}
}
) ;
;
}
int main()
{
while (cin >> n >> m && n) {
memset(g, , sizeof(g));
memset(indegree, , sizeof(indegree));
ans = ;
; i < m; i++){
cin >> s;
) continue;
] - ] - 'A']) {
g[s[] - ] - ;
indegree[s[] - 'A']++;
ans = topologicalSort();
) {
cout << <<" relations." << endl;
}
){
cout << << " relations: ";
; i < n; i++)
cout << (char)(out[i] + 'A');
cout << "." << endl;
}
}
}
)
cout << "Sorted sequence cannot be determined." << endl;
}
;
}
POJ1094 拓扑排序的更多相关文章
- POJ1094——拓扑排序和它的唯一性
比较模板的topological-sort题,关键在于每个元素都严格存在唯一的大小关系,而一般的拓扑排序只给出一个可能解,这就需要每趟排序的过程中监视它是不是总坚持一条唯一的路径. 算法导论里面的拓扑 ...
- poj1094拓扑排序
Sorting It All Out Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 29539 Accepted: 10 ...
- poj1094 拓扑排序(出度入度简单使用)
Sorting It All Out Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 37764 Accepted: 13 ...
- nyoj349 poj1094 Sorting It All Out(拓扑排序)
nyoj349 http://acm.nyist.net/JudgeOnline/problem.php?pid=349poj1094 http://poj.org/problem?id=10 ...
- [poj1094]Sorting It All Out_拓扑排序
Sorting It All Out poj-1094 题目大意:给出一些字符串之间的大小关系,问能否得到一个唯一的字符串序列,满足权值随下标递增. 注释:最多26个字母,均为大写. 想法:显然,很容 ...
- POJ1094 Sorting It All Out —— 拓扑排序
题目链接:http://poj.org/problem?id=1094 Sorting It All Out Time Limit: 1000MS Memory Limit: 10000K Tot ...
- POJ1094 字母排序(拓扑排序)
该题题意明确,就是给定一组字母的大小关系判断他们是否能组成唯一的拓扑序列.是典型的拓扑排序,但输出格式上确有三种形式: 1.该字母序列有序,并依次输出: 2.该序列不能判断是否有序: 3.该序列字母次 ...
- ACM/ICPC 之 拓扑排序范例(POJ1094-POJ2585)
两道拓扑排序问题的范例,用拓扑排序解决的实质是一个单向关系问题 POJ1094(ZOJ1060)-Sortng It All Out 题意简单,但需要考虑的地方很多,因此很容易将code写繁琐了,会给 ...
- POJ - 1094 Sorting It All Out(拓扑排序)
https://vjudge.net/problem/POJ-1094 题意 对于N个大写字母,给定它们的一些关系,要求判断出经过多少个关系之后可以确定它们的排序或者排序存在冲突,或者所有的偏序关系用 ...
随机推荐
- JS函数自动执行
关于让网页中的JavaScript函数自动执行,方法就多洛,但是万变不离其宗,下面给大家介绍一下! 前提条件,网页中必须有JS函数代码,或者,使用文件导入的方法也行: 在HTML中的Head区域中,有 ...
- 第一次碰到try-except(core python programming 2nd Edition 3.6)
# coding: utf-8 # 使用Windows系统,首行'#!/usr/bin/env Pyton'无用,全部改为'# coding: utf-8' 'readtextfile.py -- r ...
- CSU 1335 高桥和低桥
开始队友说是线段树,看了看貌似也是,上手敲了个嵌套的线段树,O(nlognlogn)的复杂度果断tle了 TAT 思路:对h[i]排序,对每次涨水退水,先用二分查找,再用一个数组保存当前点之后所有点被 ...
- 解决位于底端Edittext 输入时被软盘遮盖
遇到这种情况我们首先到网上搜一圈,大概情况是需要设置<activity/> android:windowSoftInputMode="adjustResize" ,按照 ...
- C语言解析日志,存储数据到伯克利DB
编译命令 gcc -o dbwriter dbwriter.c -ldb dbwriter.c #include <assert.h> #include <stdlib.h> ...
- ADT 连接手机运行android应用程序时报错
The connection to adb is down, and a severe error has occured. You must restart adb and Eclipse. ...
- IPTABLES封闭和开放端口
这个是个细心活儿,如果只开放特定端口,则在每一条规则里都要加上相应的端口. 任何一条不配DPORT,都有可能放行了其它端口. -A INPUT -p tcp -m tcp --dport 80 -m ...
- bzoj3721 [PA2014 Final] Bazarek
Description 有n件商品,选出其中的k个,要求它们的总价为奇数,求最大可能的总价. Input 第一行一个整数n(1<=n<=1000000),表示商品数量.接下来一行有n个整数 ...
- SOCKET 实现NAT 穿越
在当前IPv4NAT盛行的网络环境下,两个用户要直接进行P2P连接是非常困难的.较好的解决办法是借助含公网的用户或是服务器中介实现P2P连接. NAT:Network Address Translat ...
- Python多进程(multiprocessing)
Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为 ...