제출 #1036202

#제출 시각아이디문제언어결과실행 시간메모리
1036202vjudge1Naboj (COCI22_naboj)C++17
110 / 110
442 ms20164 KiB
#include<bits/stdc++.h>

using namespace std;

int main()
{
  int n, m;
  cin >> n >> m;
  vector<int> G[n + 1];
  for(int i = 0; i < m; i++)
    {
      int u, v;
      cin >> u >> v;
      G[u].push_back(v);
    }

  vector<int> topo, zero;
  int in[n + 1] = {};
  for(int i = 1; i <= n; i ++)
    for(int j : G[i])
      in[j]++;

  for(int i = 1; i <= n; i ++)
    if(in[i] == 0)
      zero.push_back(i);

  while(zero.size())
    {
      int u = zero.back();
      topo.push_back(u);
      zero.pop_back();
      for(int v : G[u])
	{
	  in[v]--;
	  if(in[v] == 0)
	    zero.push_back(v);
	}
    }
  if(topo.size() != n)
    cout << -1 << endl;
  else
    {
      cout << n << endl;
      for(int i : topo)
	cout << i << ' ' << 0 << endl;
      
    }
  return 0;
}

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

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