題目地址:POJ 1041
題目要求是字典序,所以要先對邊號進行排序,使得每次總是先遍歷到邊號較小的點。用vector比較方便。
代碼如下:
#include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define pi acos(-1.0) const int mod=1e9+7; const int INF=0x3f3f3f3f; const double eqs=1e-9; const int MAXN=2000+10; int stk[2000000], deg[2000000], tot, vis[2000000]; vector >vec[MAXN]; void add(int u, int v, int id) { vec[u].push_back(make_pair(id,v)); vec[v].push_back(make_pair(id,u)); } void dfs(int u) { for(int i=0;i0) puts("Round trip does not exist."); else{ for(i=1;i<=n;i++){ if(vec[i].size()) sort(vec[i].begin(),vec[i].end()); } dfs(1); if(tot=0;i--){ printf("%d",stk[i]); if(i) printf(" "); } printf("\n"); } } } return 0; }
Time Limit:200 SecMemory Limit
std::set/std::map (以下用
鏈接:click here 題意: 給你 一張圖,問你從
1. 項目文件夾組織:本引擎中沒有把各個源文件
STL(Standard Template Library)
題意:求[1,n]的子區間,使得子區間的元素和為m