当前位置:网站首页>Sightseeing - statistics of the number of shortest paths + state transfer + secondary small paths
Sightseeing - statistics of the number of shortest paths + state transfer + secondary small paths
2022-07-03 20:14:00 【Wawa source】


#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
#define x first
#define y second
typedef pair<int, int> PII;
const int N = 1010,M = 10010;
vector<PII>g[N];
int n,m,s,t;
int dist[N][2];
int cnt[N][2];
bool st[N][2];
struct node
{
int ver,type,w;
bool operator > (const node &W)const
{
return w>W.w;
}
};
int dij()
{
memset(dist,0x3f,sizeof dist);
memset(cnt,0,sizeof cnt);
memset(st,0,sizeof st);
dist[s][0]=0;cnt[s][0]=1;
priority_queue<node,vector<node>,greater<node> >heap;
heap.push({
s,0,0});
while(heap.size())
{
auto t=heap.top();
heap.pop();
int u=t.ver,type=t.type,distance=t.w;
if(st[u][type])continue;
st[u][type]=true;
for(auto [v,w] : g[u])
{
if(dist[v][0]>distance+w)
{
dist[v][1]=dist[v][0],cnt[v][1]=cnt[v][0];
heap.push({
v,1,dist[v][1]});
dist[v][0]=distance+w,cnt[v][0]=cnt[u][type];
heap.push({
v,0,dist[v][0]});
}
else if(dist[v][0]==distance+w)
{
cnt[v][0]+=cnt[u][type];
}
else if(dist[v][1]>distance+w)
{
dist[v][1]=distance+w,cnt[v][1]=cnt[u][type];
heap.push({
v,1,dist[v][1]});
}
else if(dist[v][1]==distance+w)
{
cnt[v][1]+=cnt[u][type];
}
}
}
int res=cnt[t][0];
if(dist[t][0]==dist[t][1]-1)res+=cnt[t][1];
return res;
}
signed main()
{
int T;
cin>>T;
while(T--)
{
cin>>n>>m;
int a,b,c;
for(int i=1;i<=n;i++)g[i].clear();
for(int i=1;i<=m;i++)
{
cin>>a>>b>>c;
g[a].push_back({
b,c});
}
cin>>s>>t;
cout<<dij()<<endl;
}
}
边栏推荐
- Strict data sheet of new features of SQLite 3.37.0
- Global and Chinese market of high temperature Silver sintering paste 2022-2028: Research Report on technology, participants, trends, market size and share
- 6. Data agent object Defineproperty method
- Phpstudy set LAN access
- Chapter 1: find the algebraic sum of odd factors, find the same decimal sum s (D, n), simplify the same code decimal sum s (D, n), expand the same code decimal sum s (D, n)
- Day6 merge two ordered arrays
- Commands related to files and directories
- [raid] [simple DP] mine excavation
- Global and Chinese market of high purity copper foil 2022-2028: Research Report on technology, participants, trends, market size and share
- Realize user registration and login
猜你喜欢

2022-06-30 網工進階(十四)路由策略-匹配工具【ACL、IP-Prefix List】、策略工具【Filter-Policy】

Popularize the basics of IP routing

Phpstudy set LAN access

BOC protected phenylalanine zinc porphyrin (Zn · TAPP Phe BOC) / iron porphyrin (Fe · TAPP Phe BOC) / nickel porphyrin (Ni · TAPP Phe BOC) / manganese porphyrin (Mn · TAPP Phe BOC) Qiyue Keke

Use of aggregate functions

Detailed and not wordy. Share the win10 tutorial of computer reinstallation system

Upgrade PIP and install Libraries

BOC protected tryptophan porphyrin compound (TAPP Trp BOC) Pink Solid 162.8mg supply - Qiyue supply

Qtablewidget control of QT

2.1 use of variables
随机推荐
AST (Abstract Syntax Tree)
Sparse matrix (triple) creation, transpose, traversal, addition, subtraction, multiplication. C implementation
Ruby replaces gem Alibaba image
Test panghu was teaching you how to use the technical code to flirt with girls online on Valentine's Day 520
About callback function and hook function
Leetcode daily question solution: 540 A single element in an ordered array
2022-06-25 advanced network engineering (XI) IS-IS synchronization process of three tables (neighbor table, routing table, link state database table), LSP, cSNP, psnp, LSP
JMeter plug-in installation
Global and Chinese market of rubidium standard 2022-2028: Research Report on technology, participants, trends, market size and share
Global and Chinese markets for medical temperature sensors 2022-2028: Research Report on technology, participants, trends, market size and share
How to check the permission to write to a directory or file- How do you check for permissions to write to a directory or file?
Micro service knowledge sorting - asynchronous communication technology
Today's work summary and plan: February 14, 2022
BOC protected alanine porphyrin compound TAPP ala BOC BOC BOC protected phenylalanine porphyrin compound TAPP Phe BOC Qi Yue supply
Cap and base theory
1.5 learn to find mistakes first
Xctf attack and defense world crypto master advanced area olddriver
The simplicity of laravel
unittest框架基本使用
2.7 format output of values