제출 #68913

#제출 시각아이디문제언어결과실행 시간메모리
68913VahanBosses (BOI16_bosses)C++17
0 / 100
3 ms900 KiB
#include<iostream> #include<vector> #include<cstdio> using namespace std; vector<int> g[20000]; int n,pp,u[100000],pat=-1,t; int dfs(int v,int p,int h) { int x=1; for(int i=0;i<g[v].size();i++) { int to=g[v][i]; if(u[to]==0) { u[to]=h; t++; } } for(int i=0;i<g[v].size();i++) { int to=g[v][i]; if(u[to]==h) x+=dfs(to,v,h+1); } pp+=x; return x; } int main() { cin>>n; for(int i=1;i<=n;i++) { int a; scanf("%d",&a); for(int j=1;j<=a;j++) { int b; scanf("%d",&b); if(i!=b) g[b].push_back(i); } } for(int i=1;i<=n;i++) { pp=0; u[i]=1; t=1; dfs(i,-1,2); if(t==n && pp<pat || pat==-1) pat=pp; for(int j=1;j<=n;j++) u[j]=0; } cout<<pat<<endl; return 0; }

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

bosses.cpp: In function 'int dfs(int, int, int)':
bosses.cpp:10:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<g[v].size();i++)
                 ~^~~~~~~~~~~~
bosses.cpp:19:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<g[v].size();i++)
                 ~^~~~~~~~~~~~
bosses.cpp: In function 'int main()':
bosses.cpp:49:17: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
         if(t==n && pp<pat || pat==-1)
            ~~~~~^~~~~~~~~
bosses.cpp:34:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&a);
         ~~~~~^~~~~~~~~
bosses.cpp:38:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d",&b);
             ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...