UVA 10305 拓撲排序

2022-05-01 06:27:08 字數 1583 閱讀 2341

題意

給出一些任務的優先級別 將這些任務進行的時間 進行先後排序

思路

拓撲排序

將所以有先後關係的任務都連一條邊

然後每次 輸出 度為0 的任務

每次把 以這個任務為弧的邊 都取消 相對應任務的度也-1

再迴圈ac**

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define clr(a) memset(a, 0, sizeof(a))

#define pb push_back

using

namespace

std;

typedef

long

long ll;

typedef

long

double ld;

typedef

unsigned

long

long ull;

typedef pair pii;

typedef pair pll;

typedef pair psi;

typedef pair pss;

const

double pi = acos(-1.0);

const

double e = exp(1);

const

double eps = 1e-30;

const

int inf = 0x3f3f3f3f;

const

int maxn = 1e2 + 5;

const

int mod = 1e9 + 7;

int g[maxn][maxn];

int degree[maxn];

int v[maxn];

int n, m;

vector

ans;

int count;

void dfs()}}

}if (count != n)

dfs();

}int main()

ans.clear();

count = 0;

dfs();

vector

::iterator it;

for (it = ans.begin(); it != ans.end(); it++)

cout

<< endl;}}

UVa 10305 給任務排序

題意 給定一些任務,和任務序列 i j,意思是要求任務 i 必須要在任務 j 前完成。給出這樣的任務序列。思路 拓撲排序。注意的是任務是從1開始的到n。code include includebool dfs int u,int n bool toposort int n int graph 105...

uva 10305 給任務排序

這是劉汝佳演算法入門上的一道拓撲排序題目。拿來練練手,題目採用dfs對有向無環圖進行排序。每找到乙個數,人如果有比它大的就繼續dfs遞迴,直到最大的數,然後開始逆序儲存到topo陣列裡面。特別注意題目有坑,m可以為0 呀!include include include include define ...

uva1423 巧用拓撲排序

對於乙個序列 a1 a2 an 我們可以計算出乙個符號矩陣a,其中si,j 為 a1 aj 的正負號,連加和大於0則sij 小於0 sij 等於0 則sij 0 根據序列a不難算出上述符號矩陣。你的任務是求解它的 逆問題 及給出乙個符號矩陣,找出乙個對應的序列。輸入保證存在乙個滿足條件的序列,其中每...