社区讨论

80pts悬关(3个小号)

P5663[CSP-J 2019] 加工零件参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo2kqzeu
此快照首次捕获于
2023/10/23 15:26
2 年前
此快照最后确认于
2023/10/23 15:26
2 年前
查看原帖
CPP
#include <cstdio>
#include <cstring>
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
struct node {
    int x;
    int step;
    node() {
        
    }
    node(int _x, int _step) {
        x = _x;
        step = _step;
    }
};
vector < int > G[1005];
int vis[1005][1005];
queue < node > q;
void bfs(int s) {
    vis[s][0] = true;
    q.push(node(s,0));
    while (!q.empty()) {
        node now = q.front();
        q.pop();
        if(now.step > 1000){
            continue;
        }
        for (int i = 0; i < G[now.x].size(); i++) {
           int v = G[now.x][i];
            if(!vis[v][now.step+1]){
                vis[v][now.step+1] = 1;
                q.push(node(v,now.step+1));
            }    
        }
    }
}
int main() {
    int n, m, q, a, L;
    scanf("%d%d%d", & n, & m, & q);
    for (int i = 0; i < m; i++) {
        int u, v;
        scanf("%d%d", & u, & v);
        G[u].push_back(v);
        G[v].push_back(u);
    }
    bfs(1);
    while (q--) {
        scanf("%d%d", & a, & L);
        if(vis[a][L]){
            printf("Yes\n");
        }else{
            printf("No\n");
        }
    }
    return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...