Pixiv - KiraraShss
Dijkstra 入门
using namespace std;
int n,m,s;
struct node{
int a,val;
bool operator < (node b) const{
return val>b.val;
}
};
vector
<node>
G[100010];
priority_queue
<node>
q;
int dis[100010];
int main(){
cin>>n>>m>>s;
int a,b,c;
for(int i=1;i<=m;i++){
cin>>a>>b>>c;
G[a].push_back({b,c});
}
q.push({s,0});
memset(dis,0x3f,sizeof dis);
dis[s]=0;
while(!q.empty()){
node now=q.top();
q.pop();
if(now.val!=dis[now.a])continue;
for(int i=0;i
<g[now.a].size();i++){ node="" nxt=“G[now.a][i];” if(dis[nxt.a]="">
dis[now.a]+nxt.val){
q.push({nxt.a,dis[now.a]+nxt.val});
dis[nxt.a]=now.val+nxt.val;
}
}
}
for(int i=1;i<=n;i++){
cout<
<dis[i]<<” ”;="" }="" return="" 0;="" }<="" re="">
智力体验(?)
using namespace std;
int t;
int l,r;
int main(){
cin>>t;
while(t—){
cin>>l>>r;
if((r/2+1)>=l){
cout<<((r-1)/2)<
<endl; }else{="" cout<<r%l<<endl;="" }="" return="" 0;="" <="" re="">
无穷大?