제출 #1302338

#제출 시각아이디문제언어결과실행 시간메모리
1302338minhhqTowers (NOI22_towers)C++20
0 / 100
2097 ms31628 KiB
#include<bits/stdc++.h>
#define ll long long
#define all(a) (a).begin(),(a).end()
#define bg begin()
#define en end()
#define pb push_back
#define _p pop_front
#define p_ pop_back
#define fi first
#define se second
#define ass assign
#define sz size()
#define el '\n'
#define pii pair<int,int>
#define pll pair<ll,ll>
using namespace std;

const int Mod=1e9+7;
const int lmt=1e6+7;

void file(){
    #define TASK "CROSS"
    if(fopen(TASK".INP","r"))
        freopen(TASK".INP","r",stdin),
        freopen(TASK".OUT","w",stdout);
}

int n,m;
vector<vector<int>>adj;
vector<bool>vst;
vector<int>dist,d;

void init(){
    cin>>n>>m;
    vst.ass(n+1,0);
    adj.ass(n+1,{});
    dist.ass(n+1,0);
    d.ass(n+1,0);
    for(int i=1;i<=m;i++){
        int u,v;
        cin>>u>>v;
        adj[u].pb(v);
        adj[v].pb(u);
    }
    for(int i=1;i<=n;i++)
        cin>>d[i];
}

void bfs(int cur){
    fill(all(vst),0);
    fill(all(dist),INT_MAX);
    dist[cur]=0;
    queue<int>q;
    q.push(cur);
    while(q.sz){
        int u=q.front();
        q.pop();
        vst[u]=1;
        for(int v:adj[u]){
            if(vst[v]) continue;
            q.push(v);
            dist[v]=min(dist[v],dist[u]+1);
        }
    }
}

void solve(){
    vector<int>res;
    for(int i=1;i<=n;i++){
        bfs(i);
        bool check=1;
        for(int j=1;j<=n;j++){
            if(d[j]==-1) continue;
            if(dist[j]!=d[j]){
                check=0;
                break;
            }
        }
        if(check) res.pb(i);
    }
    sort(all(res));
    cout<<res.sz<<el;
    for(int x:res) cout<<x<<' ';
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    file();

    init();
        solve();
}
/*



*/

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'void file()':
Main.cpp:24:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   24 |         freopen(TASK".INP","r",stdin),
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:25:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |         freopen(TASK".OUT","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...