題目鏈結
k短路居然用a*……奇妙。
先建反圖從終點(1)跑一遍最短路,再a*,用堆存當前點到終點距離+從起點到當前點距離。
每次取出終點都可以視為發現了乙個新的最短路。
#include#include#include
#include
#include
#include
#define maxn 1020
#define maxm 10020
using
namespace
std;
inline
long
long
read()
while
(isdigit(ch))
return num*f;
}struct
node
bool
operator ==(const node a)const
bool
operator
<=(const node a)const
};struct
heap
inline
void
push(node x)
}inline node pop()
return
ans;
}}s;int
ans[maxn],cnt;
intdis[maxn];
bool
vis[maxn];
struct
pictureedge[maxm*2
];
inthead[maxn],num;
picture()
inline
void add(int
from,int to,int
val);
head[
from]=num;
}void prepare(int
start)
}return
; }
void astar(int start,int
tme));
while
(s.size));}}
}}pre,sub;
intmain()
sub.prepare(1);
pre.astar(n,e);
for(int i=1;i<=e;++i) printf("
%d\n
",ans[i]);
return0;
}
290 單詞規律
給定一種規律 pattern 和乙個字串 str 判斷 str 是否遵循相同的規律。這裡的 遵循 指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出 true...
290 單詞規律
290.單詞規律 給定一種規律pattern和乙個字串str,判斷str是否遵循相同的規律。這裡的遵循指完全匹配,例如,pattern裡的每個字母和字串str中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出 true示...
290 單詞規律
題目描述 給定一種規律 pattern 和乙個字串 str 判斷 str 是否遵循相同的規律。這裡的 遵循 指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出...