제출 #852270

#제출 시각아이디문제언어결과실행 시간메모리
852270Trisanu_DasNaboj (COCI22_naboj)C++17
0 / 110
129 ms13504 KiB
#include <bits/stdc++.h>
using namespace std;
 
int main(){
  int n, m; cin >> n >> m;
  int deg[n + 1], u, v; memset(deg, 0, sizeof(deg));
  vector<int> adj[n + 1];
  while(m--){
    cin >> v >> u;
    adj[u].push_back(u); deg[u]++;
  }
  vector<int> toposort;
  queue<int> q;
  for(int i = 1; i < n + 1; i++) if(deg[i] == 0) q.push(i);
  while(!q.empty()){
    int u = q.front(); q.pop();
    toposort.push_back(u);
    for(int v : adj[u]){
      deg[v]--; if(deg[v] == 0) q.push(v);
    }
  }
  if(toposort.size() != n) cout << -1 << '\n';
  else{
    cout << n << '\n';
    for(auto u : toposort) cout << u << ' ' << 0 << '\n';
  }
}

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

naboj.cpp: In function 'int main()':
naboj.cpp:22:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   22 |   if(toposort.size() != n) cout << -1 << '\n';
      |      ~~~~~~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...