-
个人简介
#include<bits/stdc++.h> using namespace std; struct edge{ int to,p; bool operator < (const edge & other) const{ return p > other.p; } }; int dis[1000005]; int vis[1000005]; int ans[1000005]; priority_queue<edge> que; vector<edge> vt[10005]; int main(){ int n,m,s,q; cin >> n >> m >> s >> q; for(int i=1;i<=m;i++){ int a,b,c; cin >> a >> b >> c; vt[a].push_back({b,c}); vt[b].push_back({a,c}); } memset(dis,0x3f,sizeof(dis)); dis[1] = 1; que.push({1,0}); while(!que.empty()){ int x = que.top().to; que.pop(); if(vis[x] == 1) continue; vis[x] = 1; for(int i=0;i<vt[x].size();i++){ int y = vt[x][i].to; if(dis[x] + vt[x][i].p < dis[y]){ dis[y] = dis[x] + vt[x][i].p; que.push({y,dis[y]}); } } } int ans1 = 0; for(int i=1;i<=s;i++){ int d; cin >> d; if(dis[d] - 1 <= q){ ans1 ++; ans[ans1] = i; } } cout << ans1 << endl; for(int i=1;i<=ans1;i++) cout << ans[i] << endl; return 0; }3213
佛祖保佑 代码无BUG _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ . ' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . __ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `-. \_ __\ /__ _/ .-` / / ======`-.____`-.___\_____/___.-`____.-'====== `=---='万恶宿舍
https://moe.anosu.top/img/?sort=1080p
变量 创建变量: 数据类型 + 变量;
int a; //定义一个变量 int b = 10; //定义并初始化一个变量 a = 10; //给一个变量赋值输出:
printf("%d",a); // %d 格式化占位符 printf("你刚刚输入的数字是%d",a); //文本内容可以直接和格式化占位符相连特性: 取名规则
- 变量只能由英文字母、数字、下划线_ 组成 大写和小写英文区分 数字不能是变量的开头 变量不能和关键字重名 变量不能重名
输入
scanf("格式化占位符",&变量名); // &表示取地址符 scanf("%d",&a); scanf("%d %lf",&a,&b); //多个数据空格隔开数据类型
整形 int %d 长整型 long int %ld 长长整型 long long int 单精度浮点型 float %f%lld 双精度浮点型 double %lf 短整型 short int %hd
四舍五入保留小数位
printf("%.5lf",a); //只能做在输出里注:保留小数、换行、文本提示等内容不要做在scanf()
-
最近活动