Submission #733350

# Submission time Handle Problem Language Result Execution time Memory
733350 2023-04-30T14:12:57 Z Trunkty Senior Postmen (BOI14_postmen) C++14
100 / 100
489 ms 119668 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll

int n,m;
vector<pair<int,int>> roads[500005];
int poi[500005];
bool mark[500005];
bool vis[500005];
vector<int> curr;
vector<vector<int>> ans;

void euler(int x){
    if(vis[x]){
        curr = {x};
        return;
    }
    vis[x] = true;
    while(roads[x].size()!=poi[x]){
        pair<int,int> p = roads[x][poi[x]];
        poi[x]++;
        if(mark[p.second]){
            continue;
        }
        mark[p.second] = true;
        euler(p.first);
        if(curr.size()>0 and curr[0]!=x){
            curr.push_back(x);
            vis[x] = false;
            return;
        }
        else if(curr[0]==x){
            ans.push_back(curr);
            curr.clear();
        }
    }
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cin >> n >> m;
    for(int i=1;i<=m;i++){
        int a,b;
        cin >> a >> b;
        roads[a].push_back({b,i});
        roads[b].push_back({a,i});
    }
    for(int i=1;i<=n;i++){
        if(roads[i].size()>0){
            euler(i);
        }
    }
    for(vector<int> i:ans){
        for(int j:i){
            cout << j << " ";
        }
        cout << "\n";
    }
	return 0;
}

Compilation message

postmen.cpp: In function 'void euler(ll)':
postmen.cpp:20:26: warning: comparison of integer expressions of different signedness: 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   20 |     while(roads[x].size()!=poi[x]){
      |           ~~~~~~~~~~~~~~~^~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 8 ms 11988 KB Output is correct
2 Correct 7 ms 11988 KB Output is correct
3 Correct 6 ms 12016 KB Output is correct
4 Correct 11 ms 12244 KB Output is correct
5 Correct 9 ms 12116 KB Output is correct
6 Correct 9 ms 12268 KB Output is correct
7 Correct 11 ms 13140 KB Output is correct
8 Correct 8 ms 12500 KB Output is correct
9 Correct 32 ms 17032 KB Output is correct
10 Correct 8 ms 12244 KB Output is correct
11 Correct 8 ms 12372 KB Output is correct
12 Correct 40 ms 17748 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 12064 KB Output is correct
2 Correct 9 ms 11988 KB Output is correct
3 Correct 7 ms 11988 KB Output is correct
4 Correct 8 ms 12300 KB Output is correct
5 Correct 7 ms 12116 KB Output is correct
6 Correct 8 ms 12372 KB Output is correct
7 Correct 11 ms 13044 KB Output is correct
8 Correct 7 ms 12500 KB Output is correct
9 Correct 38 ms 17000 KB Output is correct
10 Correct 8 ms 12244 KB Output is correct
11 Correct 7 ms 12356 KB Output is correct
12 Correct 40 ms 17740 KB Output is correct
13 Correct 77 ms 32256 KB Output is correct
14 Correct 62 ms 19844 KB Output is correct
15 Correct 50 ms 20052 KB Output is correct
16 Correct 72 ms 32320 KB Output is correct
17 Correct 75 ms 19908 KB Output is correct
18 Correct 84 ms 22560 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 11988 KB Output is correct
2 Correct 9 ms 12088 KB Output is correct
3 Correct 6 ms 11988 KB Output is correct
4 Correct 7 ms 12244 KB Output is correct
5 Correct 7 ms 12116 KB Output is correct
6 Correct 7 ms 12372 KB Output is correct
7 Correct 10 ms 13132 KB Output is correct
8 Correct 7 ms 12500 KB Output is correct
9 Correct 34 ms 17100 KB Output is correct
10 Correct 8 ms 12244 KB Output is correct
11 Correct 7 ms 12372 KB Output is correct
12 Correct 36 ms 17688 KB Output is correct
13 Correct 77 ms 32248 KB Output is correct
14 Correct 56 ms 19740 KB Output is correct
15 Correct 59 ms 20156 KB Output is correct
16 Correct 88 ms 32272 KB Output is correct
17 Correct 65 ms 19828 KB Output is correct
18 Correct 69 ms 22580 KB Output is correct
19 Correct 410 ms 113104 KB Output is correct
20 Correct 406 ms 51444 KB Output is correct
21 Correct 376 ms 55964 KB Output is correct
22 Correct 431 ms 119668 KB Output is correct
23 Correct 142 ms 38932 KB Output is correct
24 Correct 445 ms 57300 KB Output is correct
25 Correct 489 ms 71588 KB Output is correct