結果
問題 | No.277 根掘り葉掘り |
ユーザー |
![]() |
提出日時 | 2015-10-29 15:50:14 |
言語 | C++11 (gcc 13.3.0) |
結果 |
MLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 2,851 bytes |
コンパイル時間 | 847 ms |
コンパイル使用メモリ | 101,964 KB |
実行使用メモリ | 814,464 KB |
最終ジャッジ日時 | 2024-09-13 04:35:00 |
合計ジャッジ時間 | 4,680 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | MLE * 1 -- * 1 |
other | -- * 18 |
コンパイルメッセージ
main.cpp: In function ‘int dfs2(int, int, int)’: main.cpp:117:1: warning: no return statement in function returning non-void [-Wreturn-type] 117 | } | ^
ソースコード
#include <cstdlib>#include <cmath>#include <climits>#include <cfloat>#include <map>#include <set>#include <iostream>#include <string>#include <vector>#include <algorithm>#include <sstream>#include <complex>#include <stack>#include <queue>#include <cstdio>#include <cstring>#include <iterator>#include <bitset>#include <unordered_set>#include <unordered_map>#include <fstream>#include <iomanip>#include <cassert>//#include <utility>//#include <memory>//#include <functional>//#include <deque>//#include <cctype>//#include <ctime>//#include <numeric>//#include <list>//#include <iomanip>//#if __cplusplus >= 201103L//#include <array>//#include <tuple>//#include <initializer_list>//#include <forward_list>////#define cauto const auto&//#else//#endifusing namespace std;typedef long long ll;typedef pair<int,int> pii;typedef pair<ll,ll> pll;typedef vector<int> vint;typedef vector<vector<int> > vvint;typedef vector<long long> vll, vLL;typedef vector<vector<long long> > vvll, vvLL;#define VV(T) vector<vector< T > >template <class T>void initvv(vector<vector<T> > &v, int a, int b, const T &t = T()){v.assign(a, vector<T>(b, t));}template <class F, class T>void convert(const F &f, T &t){stringstream ss;ss << f;ss >> t;}#undef _P#define _P(...) (void)printf(__VA_ARGS__)#define reep(i,a,b) for(int i=(a);i<(b);++i)#define rep(i,n) reep((i),0,(n))#define ALL(v) (v).begin(),(v).end()#define PB push_back#define F first#define S second#define mkp make_pair#define RALL(v) (v).rbegin(),(v).rend()#define DEBUG#ifdef DEBUG#define dump(x) cout << #x << " = " << (x) << endl;#define debug(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;#else#define dump(x)#define debug(x)#endif#define MOD 1000000007LL#define EPS 1e-8#define INF 0x3f3f3f3f#define INFL 0x3f3f3f3f3f3f3f3fLL#define maxs(x,y) x=max(x,y)#define mins(x,y) x=min(x,y)vvint vv;vector<pii> ans;int dfs(int x,int y,int z){ans[x].F=z;int ret=INF;for(int t:vv[x]){if(t==y) continue;int tmp=dfs(t,x,z+1);mins(ret,tmp+1);}if(ret==INF) ret=0;return ans[x].S=ret;}int dfs2(int x,int y,int z){mins(ans[x].S,z);for(int t:vv[x]){if(y==t) continue;dfs2(t,x,ans[x].S+1);}}void mainmain(){int n;cin>>n;vv=vvint(n);rep(i,n-1){int a,b;cin>>a>>b;a--;b--;vv[a].PB(b);vv[b].PB(a);}ans=vector<pii>(n);dfs(0,-1,0);dfs2(0,-1,ans[0].S);rep(i,n){// cout<<ans[i].F<<" "<<ans[i].S<<endl;cout<<min(ans[i].F,ans[i].S)<<endl;}}signed main() {ios_base::sync_with_stdio(false);cin.tie(0);cout<<fixed<<setprecision(20);mainmain();}