Submission #1239175

#TimeUsernameProblemLanguageResultExecution timeMemory
1239175JerCircle Passing (EGOI24_circlepassing)C++20
0 / 100
8 ms1096 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1'005;
int n, m, q;
int k;
int d[MAXN][MAXN];
vector<int> con[MAXN];

void find(int a)
{
    set<int> vis;
    queue<int> q;
    q.push(a);

    int l = 0;
    while (!q.empty())
    {
        int len = q.size();
        for (int x = 0; x < len; x++)
        {
            int curr = q.front();
            q.pop();

            if (vis.find(curr) != vis.end())
                continue;
            vis.insert(curr);

            d[curr][a] = l;

            for (auto i : con[curr])
                q.push(i);
        }
        l++;
    }
}

int main()
{
    scanf("%d%d%d", &n, &m, &q);

    for (int i = 0; i < m; i++)
        scanf("%d", &k), con[k].push_back(n + k), con[n + k].push_back(k);

    for (int i = 0; i < 2 * n; i++)
    {
        if (i > 0)
            con[i].push_back(i - 1);
        if (i < 2 * n - 1)
            con[i].push_back(i + 1);
    }
    con[0].push_back(2 * n - 1);
    con[2 * n - 1].push_back(0);

    for (int i = 0; i < 2 * n; i++)
        find(i);

    int a, b;
    while (q--)
    {
        scanf("%d%d", &a, &b);
        printf("%d\n", d[a][b]);
    }

    return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:41:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |     scanf("%d%d%d", &n, &m, &q);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:44:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |         scanf("%d", &k), con[k].push_back(n + k), con[n + k].push_back(k);
      |         ~~~~~^~~~~~~~~~
Main.cpp:62:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |         scanf("%d%d", &a, &b);
      |         ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...