This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
rosedu:cdl:marius-dragus [2010/03/27 10:16] mdragus |
rosedu:cdl:marius-dragus [2020/07/20 09:16] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | = Marius Dragus | + | = Shidfar Hodizoda |
| - | *Nume complet: | + | * Nume complet: |
| - | *Alias-uri: | + | * Alias-uri: |
| - | *Data/locul nașterii: 14 octombrie 1990, | + | * Data/locul nașterii: 14 octombrie 1990, |
| - | == Educatie == | + | |
| + | ===== Educatie | ||
| | | ||
| | | ||
| - | == Competente == | + | ===== Competente |
| - | *sunt smecher ce sa mai.... | + | * sunt smecher ce sa mai.... |
| - | == Link-uri spre alti oameni smecheri == | + | ===== Link-uri spre alti oameni smecheri |
| [[rosedu: | [[rosedu: | ||
| [[rosedu: | [[rosedu: | ||
| - | |||
| ==Acum niste cod baby== | ==Acum niste cod baby== | ||
| < | < | ||
| - | #include< | + | - include< |
| - | #include< | + | |
| - | #include< | + | |
| - | #define pb push_back | + | |
| - | #define mkp make_pair | + | |
| using namespace std; | using namespace std; | ||
| Line 45: | Line 45: | ||
| } | } | ||
| return false; | return false; | ||
| - | } | ||
| - | |||
| - | bool ver(vector< | ||
| - | { | ||
| - | sort(v1.begin(), | ||
| - | MOVE = 0; | ||
| - | for(int i = v1.size() - 1; | ||
| - | { | ||
| - | if (timp < 0) return false; | ||
| - | if (timp < D[v1[i].first][v1[i].second]) return false; | ||
| - | if (timp > D[v1[i].first][v1[i].second]) | ||
| - | { | ||
| - | if (!MOVE) MOVE = v1[i].first; | ||
| - | v1.pop_back(); | ||
| - | timp--; | ||
| - | continue; | ||
| - | } | ||
| - | if (timp == D[v1[i].first][v1[i].second]) | ||
| - | { | ||
| - | if(!MOVE) MOVE = M[v1[i].first][v1[i].second]; | ||
| - | v1[i].second++; | ||
| - | timp--; | ||
| - | while(i != 0 && cmpf(v1[i], | ||
| - | // | ||
| - | continue; | ||
| - | } | ||
| - | } | ||
| - | if (timp < 0) return false; | ||
| - | return true; | ||
| - | } | ||
| - | |||
| - | void solve(vector< | ||
| - | { | ||
| - | if (v.size() == 0) {COST = 0;return;} | ||
| - | short x = 0,p; | ||
| - | for(p = 1;p < N; p <<= 1); | ||
| - | for(;p;p >>= 1) | ||
| - | if (!ver(v,x + p)) | ||
| - | { | ||
| - | x += p; | ||
| - | } | ||
| - | x++; | ||
| - | ver(v,x); | ||
| - | COST = x; | ||
| - | } | ||
| - | |||
| - | void dfs(int nod) | ||
| - | { | ||
| - | if (VER[nod]) return ; | ||
| - | VER[nod] = 1; | ||
| - | for(int i = 0;i < (int)VECT[nod].size(); | ||
| - | { | ||
| - | if (!VER[VECT[nod][i]]) TATA[VECT[nod][i]] = nod; | ||
| - | dfs(VECT[nod][i]); | ||
| - | } | ||
| - | VEC.clear(); | ||
| - | for(int i = 0;i < (int)VECT[nod].size(); | ||
| - | { | ||
| - | if (VER[VECT[nod][i]] == 2)VEC.pb(mkp(VECT[nod][i], | ||
| - | } | ||
| - | for(int i = 0;i < N && VEC.size() > 0;++i) | ||
| - | { | ||
| - | solve(VEC); | ||
| - | D[nod][i] = COST; | ||
| - | M[nod][i] = MOVE; | ||
| - | for(int i = 0;i < (int)VEC.size(); | ||
| - | { | ||
| - | if (VEC[i].first == MOVE) | ||
| - | { | ||
| - | VEC[i] = VEC[VEC.size() - 1]; | ||
| - | VEC.pop_back(); | ||
| - | } | ||
| - | if (M[VEC[i].first][VEC[i].second] == MOVE) VEC[i].second += 1; | ||
| - | } | ||
| - | } | ||
| - | VER[nod] = 2; | ||
| - | } | ||
| - | |||
| - | int main() | ||
| - | { | ||
| - | freopen(" | ||
| - | freopen(" | ||
| - | scanf(" | ||
| - | for(int i = 1;i < N; ++i) | ||
| - | { | ||
| - | short x,y; | ||
| - | scanf(" | ||
| - | assert(x != 0 && y != 0); | ||
| - | VECT[x].pb(y); | ||
| - | VECT[y].pb(x); | ||
| - | } | ||
| - | dfs(1); | ||
| - | |||
| - | memset(VER, | ||
| - | printf(" | ||
| - | ANS.pb(mkp(1, | ||
| - | VER[1] = 1; | ||
| - | for(int i = 1;i <= D[1][0]; ++i) | ||
| - | { | ||
| - | |||
| - | AUX.clear(); | ||
| - | for(int j = 0;j < ANS.size(); ++j) | ||
| - | { | ||
| - | if (VER[M[ANS[j].first][ANS[j].second]] == 0 && M[ANS[j].first][ANS[j].second]) | ||
| - | { | ||
| - | AUX.pb(mkp(ANS[j].first, | ||
| - | VER[M[ANS[j].first][ANS[j].second]] = 1; | ||
| - | ANS[j].second++; | ||
| - | } | ||
| - | } | ||
| - | printf(" | ||
| - | for(int j = 0;j < AUX.size(); ++j) | ||
| - | { | ||
| - | printf(" | ||
| - | NRT = 0; | ||
| - | int nod = AUX[j].second; | ||
| - | for(NRT; | ||
| - | ANS.pb(mkp(AUX[j].second, | ||
| - | } | ||
| - | } | ||
| - | |||
| - | return 0; | ||
| } | } | ||
| Line 176: | Line 54: | ||
| |caca |maca|nata| | |caca |maca|nata| | ||
| |gata|cu|rimele| | |gata|cu|rimele| | ||
| - | |||
| - | |||