제출 #666373

#제출 시각아이디문제언어결과실행 시간메모리
666373Kaztaev_AlisherHard route (IZhO17_road)C++17
19 / 100
12 ms596 KiB
//#pragma GCC optomize ("Ofast") //#pragma GCC optomize ("unroll-loops") //#pragma GCC target ("avx,avx2,fma") #include <bits/stdc++.h> #define F first #define S second #define pb push_back #define sz size #define cl clear #define ins insert #define ers erase #define pii pair < int , int > #define pll pair< long long , long long > #define all(x) x.begin() , x.end() #define ios ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout) #define tostr(x) to_string(x) #define tonum(s) atoi(s.c_str()) #define seon(x) setprecision(x) #define bpop(x) __builtin_popcount(x) #define deb(x) cerr << #x << " = " << x << endl; typedef long long ll; typedef unsigned long long ull; typedef double db; typedef long double ldb; const double PI = 3.14159265; const ll N = 2e3+5; const ll mod = 1e9+7; const ll inf = 1e9; const ll INF = 1e18; using namespace std; int n , ok = 0 , cnt1 = 0 , cnt = 0 , kal = 0; vector<int> g[N] , vec; bool was[N]; void dfs(int v , int fn , int p){ was[v] = 1; cnt++; if(v == fn){ cnt1 = cnt; ok = 1; return; } for(int to : g[v]){ if(to==p) continue; dfs(to , fn , v); if(ok == 1) return; } if(ok == 1) return; cnt--; was[v] = 0; } void get(int v ,int p){ if(was[v] == 1){ ok = 1; return; } kal++; for(int to : g[v]){ if(to == p) continue; get(to,v); if(ok == 1) return; } kal--; } void solve(){ cin >> n; for(int i = 1; i < n; i++){ int a , b; cin >> a >> b; g[a].pb(b); g[b].pb(a); } for(int i = 1; i <= n; i++){ if(g[i].sz() == 1) vec.pb(i); } int ans = 0 , ans2 = 0; for(int i = 0; i < vec.sz(); i++){ for(int j = i+1; j < vec.sz(); j++){ int mx = 0; ok = 0; cnt = 0; cnt1 = 0; dfs(vec[i] , vec[j] , 0); for(int k = 0; k < vec.sz(); k++){ if(i != k && j != k){ kal = 0; ok = 0; get(vec[k] , 0); mx = max(mx , kal); } } for(int k = 1; k <= n; k++) was[k] = 0; cnt1--; if(cnt1*mx > ans){ ans = cnt1*mx; ans2 = 1; } else if(cnt1*mx == ans) ans2++; } } cout << ans <<" " << ans2 <<"\n"; } signed main(){ file("road"); ios; solve(); return 0; } /* */

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

road.cpp: In function 'void solve()':
road.cpp:82:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   82 |  for(int i = 0; i < vec.sz(); i++){
      |                 ~~^~~~~~~~~~
road.cpp:83:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   83 |   for(int j = i+1; j < vec.sz(); j++){
      |                    ~~^~~~~~~~~~
road.cpp:89:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   89 |    for(int k = 0; k < vec.sz(); k++){
      |                   ~~^~~~~~~~~~
road.cpp: In function 'int main()':
road.cpp:17:48: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 | #define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
      |                                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~
road.cpp:108:2: note: in expansion of macro 'file'
  108 |  file("road");
      |  ^~~~
road.cpp:17:77: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 | #define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
      |                                                                      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
road.cpp:108:2: note: in expansion of macro 'file'
  108 |  file("road");
      |  ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...