Submission #983572

# Submission time Handle Problem Language Result Execution time Memory
983572 2024-05-15T18:10:13 Z canadavid1 Senior Postmen (BOI14_postmen) C++17
55 / 100
500 ms 135008 KB
#include <iostream>
#include <vector>
#include <unordered_set>
struct Road
{
    int a,b;
    bool visit;
    bool full_visit;
};


struct Node
{
    std::unordered_set<int> roads;
};

int main()
{
    std::cin.tie(0)->sync_with_stdio(0);
    int N,M;
    std::cin >> N >> M;
    std::vector<Node> nodes(N+1);
    std::vector<Road> roads(M);
    for(auto& i : roads)
    {
        std::cin >> i.a >> i.b;
        nodes[i.a].roads.insert(i.b);
        nodes[i.b].roads.insert(i.a);
    }
    std::vector<std::vector<int>> os;
    int s = 1;
    while(s <= N)
    {
        auto& out = os.emplace_back();
        while(s <= N && nodes[s].roads.size()==0) s++;
        if(s>N) break;
        out.push_back(s);
        while(out.size()==1||out.back()!=out.front())
        {
            auto n = *nodes[out.back()].roads.begin();
            nodes[n].roads.erase(out.back());
            nodes[out.back()].roads.erase(n);
            out.push_back(n);
        }
    }
    std::vector<std::vector<int>> res;
    for(auto v : os)
    {
        std::unordered_set<int> seen;
        std::vector<int> out;
        for(auto i : v)
        {
            if(seen.count(i))
            {
                auto& w = res.emplace_back();
                w.push_back(i);
                while(out.back()!=i)
                {
                    w.push_back(out.back());
                    seen.erase(out.back());
                    out.pop_back();
                }

            }
            else 
            {
                seen.insert(i);
                out.push_back(i);
            }
        }
    }
    for(auto v : res)
    {
        for(auto i : v) std::cout << i << " ";
        std::cout << "\n";
    }


}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 2 ms 860 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 2 ms 860 KB Output is correct
7 Correct 8 ms 1884 KB Output is correct
8 Correct 2 ms 856 KB Output is correct
9 Correct 53 ms 10092 KB Output is correct
10 Correct 3 ms 860 KB Output is correct
11 Correct 2 ms 860 KB Output is correct
12 Correct 57 ms 10420 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 3 ms 1112 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 3 ms 860 KB Output is correct
7 Correct 8 ms 1884 KB Output is correct
8 Correct 2 ms 860 KB Output is correct
9 Correct 52 ms 10092 KB Output is correct
10 Correct 3 ms 856 KB Output is correct
11 Correct 2 ms 860 KB Output is correct
12 Correct 65 ms 10324 KB Output is correct
13 Correct 116 ms 27776 KB Output is correct
14 Correct 95 ms 22028 KB Output is correct
15 Correct 116 ms 22572 KB Output is correct
16 Correct 115 ms 27796 KB Output is correct
17 Correct 106 ms 21048 KB Output is correct
18 Correct 99 ms 22528 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 2 ms 856 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 2 ms 860 KB Output is correct
7 Correct 9 ms 1884 KB Output is correct
8 Correct 2 ms 860 KB Output is correct
9 Correct 59 ms 10164 KB Output is correct
10 Correct 2 ms 860 KB Output is correct
11 Correct 2 ms 856 KB Output is correct
12 Correct 58 ms 10348 KB Output is correct
13 Correct 113 ms 27776 KB Output is correct
14 Correct 94 ms 22000 KB Output is correct
15 Correct 103 ms 22492 KB Output is correct
16 Correct 114 ms 27764 KB Output is correct
17 Correct 99 ms 21048 KB Output is correct
18 Correct 97 ms 22616 KB Output is correct
19 Execution timed out 868 ms 135008 KB Time limit exceeded
20 Halted 0 ms 0 KB -