Submission #42655

# Submission time Handle Problem Language Result Execution time Memory
42655 2018-03-01T21:01:11 Z BlackFlag777 Computer Network (BOI14_network) C++14
0 / 100
1000 ms 65536 KB
#include<bits/stdc++.h>
using namespace std;
void travelTo(int k);
void findRoute(int N, int a, int b);
int ping (int i, int j);
void findRoute(int N, int a, int b)
{
    vector<int>v[1003];
    int par[1003],vis[1003];
    map<pair<int,int>,bool>m;
    for(int i=1; i<=N; i++)
    {
        for(int j=1; j<=N; j++)
        {
            if(i!=j)
            {
                if(!m[{i,j}]&&!m[{j,i}]&&ping(i,j)==0)
                {
                    v[i].push_back(j);
                    v[j].push_back(i);
                    m[{i,j}]=m[{j,i}]=1;
                }

            }
        }
    }
    queue<int>q;
    par[a]=-1;
    q.push(a);
    while(!q.empty())
    {
        int p=q.front();
        q.pop();
        if(vis[p])continue;
        vis[p]=1;
        for(int i=0;i<v[p].size();i++)
        {
            if(!par[v[p][i]]&&par[v[p][i]]!=-1)
            {
                par[v[p][i]]=p;
                q.push(v[p][i]);
            }
        }
    }
    vector<int>ans;
    int temp=b;
    while(1)
    {
        ans.push_back(temp);
        temp=par[temp];
        if(par[temp]==-1)break;
    }
    reverse(ans.begin(),ans.end());
    for(int i=0;i<ans.size();i++)
    {
        travelTo(ans[i]);

    }
    return ;
}

Compilation message

network.cpp: In function 'void findRoute(int, int, int)':
network.cpp:36:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<v[p].size();i++)
                      ^
network.cpp:54:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<ans.size();i++)
                  ^
grader.c: In function 'int main()':
grader.c:48:39: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf ("%d%d%d%d", &N, &a, &b, &M);
                                       ^
grader.c:51:41: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d", &distance[u][v]);
                                         ^
# Verdict Execution time Memory Grader output
1 Incorrect 123 ms 4472 KB Too many calls to ping
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1073 ms 65536 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 103 ms 65536 KB Too many calls to ping
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 105 ms 65536 KB Too many calls to ping
2 Halted 0 ms 0 KB -