Submission #468128

# Submission time Handle Problem Language Result Execution time Memory
468128 2021-08-26T19:27:48 Z MohamedFaresNebili Senior Postmen (BOI14_postmen) C++14
100 / 100
463 ms 73176 KB
#include <bits/stdc++.h>
 
using namespace std;
 
using ll  = long long;
using ld  = long double;
using db  = double;
using ii  = pair<int, int>;
using pl  = pair<ll, ll>;
using vi  = vector<int>;
using vl  = vector<ll>;
using vii = vector<ii>;
using vpl = vector<pl>;
 
#define mp make_pair
#define pb push_back
#define pp pop_back
#define ff first
#define ss second
#define lb lower_bound
#define ub upper_bound
#define all(x) (x).begin() , (x).end()
 
ld dist(ld x, ld y, ld a, ld b)    { return sqrt((x-a)*(x-a) + (y-b)*(y-b)); }
ll gcd(ll a , ll b){ return b ? gcd(b , a % b) : a ;}
ll lcm(ll a , ll b){ return (a * b) / gcd(a , b);}
ll fact(ll n) { return n > 1?(n * fact(n-1)):1;}
 
const int MOD = 1000*1000*1000+7;
const long double EPS = 0.000000001;
const double PI = 3.14159265358979323846;
const long long INF = 1e18;
const int nx[4] = {0, 0, -1, 1}, ny[4] = {1, -1, 0, 0};
 
int n, m; vector<ii>adj[500024];
bool queued[500024], vis[500024]; int cnt[500024];
int dfs(int v, int p=-1)
{
    if(queued[v]) {
        cout<<v+1<<" ";
        return v;
    }
    queued[v]=1;
    for(;cnt[v]<adj[v].size();cnt[v]++) {
      	ii u=adj[v][cnt[v]];
        if(u.ff==p||vis[u.ss]) continue;
        vis[u.ss]=true; int next=dfs(u.ff, v);
        if(next!=v) {
            queued[v]=0;
            cout<<v+1<<" ";
            return next;
        }
        cout<<"\n";
    }
    return -1;
}
 
int32_t main()
{
    ios::sync_with_stdio(0); cin.tie(0);cout.tie(0);
    cin>>n>>m;
    for(int l=0;l<m;l++) {
        int a, b; cin>>a>>b; a--; b--;
        adj[a].pb({b, l}); adj[b].pb({a, l});
    }
    for(int l=0;l<n;l++) dfs(l);
    return 0;
}

Compilation message

postmen.cpp: In function 'int dfs(int, int)':
postmen.cpp:44:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |     for(;cnt[v]<adj[v].size();cnt[v]++) {
      |          ~~~~~~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 7 ms 11980 KB Output is correct
2 Correct 7 ms 11980 KB Output is correct
3 Correct 7 ms 11980 KB Output is correct
4 Correct 8 ms 12184 KB Output is correct
5 Correct 7 ms 12108 KB Output is correct
6 Correct 8 ms 12108 KB Output is correct
7 Correct 12 ms 12572 KB Output is correct
8 Correct 8 ms 12236 KB Output is correct
9 Correct 38 ms 14488 KB Output is correct
10 Correct 8 ms 12100 KB Output is correct
11 Correct 9 ms 12108 KB Output is correct
12 Correct 44 ms 14860 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 11980 KB Output is correct
2 Correct 7 ms 11980 KB Output is correct
3 Correct 7 ms 11980 KB Output is correct
4 Correct 10 ms 12112 KB Output is correct
5 Correct 7 ms 12108 KB Output is correct
6 Correct 9 ms 12188 KB Output is correct
7 Correct 12 ms 12620 KB Output is correct
8 Correct 8 ms 12236 KB Output is correct
9 Correct 39 ms 14464 KB Output is correct
10 Correct 9 ms 12108 KB Output is correct
11 Correct 8 ms 12108 KB Output is correct
12 Correct 44 ms 14820 KB Output is correct
13 Correct 71 ms 24152 KB Output is correct
14 Correct 56 ms 15936 KB Output is correct
15 Correct 53 ms 15580 KB Output is correct
16 Correct 66 ms 24132 KB Output is correct
17 Correct 64 ms 15752 KB Output is correct
18 Correct 60 ms 17860 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 11980 KB Output is correct
2 Correct 8 ms 11980 KB Output is correct
3 Correct 7 ms 12040 KB Output is correct
4 Correct 9 ms 12108 KB Output is correct
5 Correct 9 ms 12120 KB Output is correct
6 Correct 9 ms 12108 KB Output is correct
7 Correct 12 ms 12604 KB Output is correct
8 Correct 8 ms 12236 KB Output is correct
9 Correct 39 ms 14532 KB Output is correct
10 Correct 8 ms 12108 KB Output is correct
11 Correct 9 ms 12120 KB Output is correct
12 Correct 45 ms 14868 KB Output is correct
13 Correct 65 ms 24192 KB Output is correct
14 Correct 56 ms 15940 KB Output is correct
15 Correct 58 ms 15508 KB Output is correct
16 Correct 64 ms 24132 KB Output is correct
17 Correct 61 ms 15744 KB Output is correct
18 Correct 61 ms 17860 KB Output is correct
19 Correct 447 ms 73100 KB Output is correct
20 Correct 392 ms 32168 KB Output is correct
21 Correct 364 ms 29964 KB Output is correct
22 Correct 463 ms 73176 KB Output is correct
23 Correct 168 ms 23272 KB Output is correct
24 Correct 459 ms 37640 KB Output is correct
25 Correct 454 ms 48296 KB Output is correct