제출 #799259

#제출 시각아이디문제언어결과실행 시간메모리
799259Tunglam07Cijanobakterije (COCI21_cijanobakterije)C++17
70 / 70
41 ms11676 KiB
#include<bits/stdc++.h>
using namespace std;
 
long long n, m;
vector <long long> vec[100005];
bool visited[100005], visited1[100005];
pair <long long, long long> ans;

void dfs (long long v, long long d)
{
    if (d > ans.first)
    {
        ans = {d, v};
    }
    visited[v] = 1;
    for (int i = 0; i < vec[v].size (); i++)
    {
        long long id = vec[v][i];
        if (!visited[id])
        {
            dfs (id, d + 1);
        }
    }
}
 
void dfs1 (long long v, long long d)
{
    if (d > ans.first)
    {
        ans = {d, v};
    }
    visited1[v] = 1;
    for (int i = 0; i < vec[v].size (); i++)
    {
        long long id = vec[v][i];
        if (!visited1[id])
        {
            dfs1 (id, d + 1);
        }
    }
}
     
int main ()
{
    ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
    long long t = 1;
    while (t--)
    {
	    long long len = 0;
        cin >> n >> m;
	    for (int i = 1; i <= m; i++)
	    {
	        long long x, y;
	        cin >> x >> y;
	        vec[x].push_back (y);
	        vec[y].push_back (x);
	    }
	    for (int i = 1; i <= n; i++)
	    {
	        if (!visited[i])
	        {
	            dfs (i, 1);
	            ans.first = 0;
	            dfs1 (ans.second, 1);
	            len += ans.first;
	            ans = {0, 0};
	        }
	    }
	    cout << len;
    }
}

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

Main.cpp: In function 'void dfs(long long int, long long int)':
Main.cpp:16:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for (int i = 0; i < vec[v].size (); i++)
      |                     ~~^~~~~~~~~~~~~~~~
Main.cpp: In function 'void dfs1(long long int, long long int)':
Main.cpp:33:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |     for (int i = 0; i < vec[v].size (); i++)
      |                     ~~^~~~~~~~~~~~~~~~
#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...