題意:n個點m個關係,要求乙個排列使得滿足關係
思路:dfs+剪枝,注意兩個剪枝點:
1.如果有解第乙個數一定是1
2.dfs中如果剩下的點中沒有能和1相連通的,就不用遍歷了
#include using namespace std;typedef long long ll;
typedef pairpii;
const int maxn = 100 + 15;
const double eps = 1e-9;
int mp[maxn][maxn];
int n;
int vis[maxn];
bool findyes;
vectorv;
void dfs(int now)
if (flag)
for (int i = 0; i < v.size() - 1; i++)
cout << v[i] << " ";
cout << v[v.size() - 1] << endl;
findyes = true;
return;
}bool yes = false;
for (int i = 1; i <= n; i++)
if (!vis[i] && mp[i][1])
if (!yes)
return;
for (int i = 1; i <= n; i++)
}}int main()
}vis[1] = true;
v.push_back(1);
dfs(1);
if (!findyes)
cout << "no solution" << endl;
return 0;
}
ACM 實驗室2020 11 14天梯賽練習 6
include include include include includeusing namespace std int btree 100 用於承裝後續遍歷的數字 int ctree 100 用於承裝中序遍歷的資料 struct node int num 0 int n node creatt...
ACM 實驗室2020 10 17天梯賽練習 3
7 9 小字輩 25分 自己做的一直超時,看了看別人的才想起來反過來存資料再用dfs可以減少時間的花費。include include include using namespace std inttmp intn,mm vector v 100001 ans vector iterator it ...
合天實驗室命令注入
命令注入攻擊 command injection 是指黑客通過利用html 輸入機制缺陷 例如缺乏有效驗證限制的 域 來改變網頁的動態生成的內容。從而可以使用系統命令操作,實現使用遠端資料來構造要執行的命令的操作。php中可以使用下列四個函式來執行外部的應用程式或函式 system exec pas...