91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 65KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-06
  • 語言: 其他
  • 標簽: 中興捧月??Dijkstra??

資源簡介

文件是本人參加2017年的中興捧月算法大賽(Dijstra派)的代碼和可執行文件,得分86,獲得中南賽區區域優勝獎

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
#include
#include
#include?
#include
using?namespace?std;




//起點,終點,邊的總數量,必須經過的邊數量,必須經過的點數量,必須經過的邊的權重和
int?srcNode?dstNode?edgeNum?specialEdgeNum?specialEdgeValue?=?0;
int?requestNum?=?9;??//路徑的節點數限制
map>edgeTable;?//存儲每個節點直接連接的節點
map?int>valueTable;?//存儲每個邊的花費
map?bool>specialEdge;??//存儲必須經過的邊
mapspecialEdgeNode;
vector>midPath;//存儲特殊點和特殊邊所有可能的排序方式
vectorspecialNode;
vector>tmpedgeList;??//用向量的形式存儲所有的邊,并且一條邊僅存儲一次

//preNode用于記錄每個節點的前驅節點
int?dijstra(int?src?int?dst?map&preNode)
{

mapcheck;
check[src]?=?true;

mapdisTable;

vectortoDst?=?edgeTable[src];
for?(int?i?=?0;?i? {
disTable[toDst[i]]?=?valueTable[pair(src?toDst[i])];
preNode[toDst[i]]?=?src;
}


while?(true)
{
int?minValue?=?INT_MAX;
int?node?=?-1;

map::iterator?it?=?disTable.begin();
for?(;?it?!=?disTable.end();?it++)
{
if?(check.count(it->first)?==?0?&&?disTable[it->first]? {
minValue?=?disTable[it->first];
node?=?it->first;
}
}


if?(node?
check[node]?=?true;


if?(node?==?dst)
return?minValue;

vectorto?=?edgeTable[node];
for?(int?i?=?0;?i? {
if?(disTable.count(to[i])?==?0?||
disTable[to[i]]>disTable[node]?+?valueTable[pair(node?to[i])])
{
disTable[to[i]]?=?disTable[node]?+?valueTable[pair(node?to[i])];
preNode[to[i]]?=?node;
}
}
}
return?-1;
}

//根據前驅節點計算路徑
vectorCalcPath(int?src?int?dst?mappreNode)
{
vectorresult;
result.push_back(dst);
if?(src?==?dst)return?result;

int?p?=?dst;
while?(preNode[p]?!=?src)
{
result.push_back(preNode[p]);
p?=?preNode[p];
}
result.push_back(src);

reverse(result.begin()?result.end());

return?result;
}
//根據經過的特殊點集順序,計算出經過的完整點集
vector?CalcFullPath(vectornodeList?int&resultValue)
{
vector?result;

mappreNode;
for?(int?i?=?1;?i? {

int?src?=?nodeList[i?-?1];
int?dst?=?nodeList[i];

if?(src?==?dst)
continue;

if?(specialEdge.count(pair(src?dst))?!=?0)
{
if?(result.empty())
{
result.push_back(src);
result.push_back(dst);
}
else
{
result.pop_back();
result.push_back(src);
result.push_back(dst);
}


resultValue?+=?valueTable[pair(src?dst)];
}
else
{
preNode.clear();
int?curResult?=?dijstra(src?dst?preNode);

if?(curResult? {
//表示到dst不可達
result.clear();
break;
}


resultValue?+=?curResult;
vectorfullPath?=?CalcPath(src?dst?preNode);

if?(r

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????321??2017-05-11?20:19??code\可執行文件\data0.txt

?????文件????????321??2017-05-11?20:19??code\可執行文件\data1.txt

?????文件????????294??2017-05-11?20:19??code\可執行文件\data2.txt

?????文件????????321??2017-05-11?21:24??code\可執行文件\data3.txt

?????文件????????321??2017-05-11?20:19??code\可執行文件\data4.txt

?????文件????????321??2017-05-11?20:19??code\可執行文件\data5.txt

?????文件????????424??2017-05-11?20:20??code\可執行文件\data6.txt

?????文件????????621??2017-05-11?20:20??code\可執行文件\data7.txt

?????文件?????395264??2017-05-11?21:13??code\可執行文件\中興捧月(不剪枝).exe

?????文件????????157??2017-05-11?20:28??code\可執行文件\運行說明.txt

?????文件????????321??2017-05-11?20:19??code\數據集\data0.txt

?????文件????????321??2017-05-11?20:19??code\數據集\data1.txt

?????文件????????294??2017-05-11?20:19??code\數據集\data2.txt

?????文件????????321??2017-05-11?21:24??code\數據集\data3.txt

?????文件????????321??2017-05-11?20:19??code\數據集\data4.txt

?????文件????????321??2017-05-11?20:19??code\數據集\data5.txt

?????文件????????424??2017-05-11?20:20??code\數據集\data6.txt

?????文件????????621??2017-05-11?20:20??code\數據集\data7.txt

?????文件????????365??2017-05-11?20:18??code\數據集\輸入的數據格式說明.txt

?????文件?????????52??2017-05-11?15:14??code\源碼\readme.txt

?????文件??????10723??2017-05-11?21:13??code\源碼\源.cpp

?????目錄??????????0??2017-06-19?17:25??code\可執行文件

?????目錄??????????0??2017-06-19?17:25??code\數據集

?????目錄??????????0??2017-06-19?17:25??code\源碼

?????目錄??????????0??2017-06-19?17:25??code

-----------?---------??----------?-----??----

???????????????412449????????????????????25


評論

共有 條評論