답안 #42656

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
42656 2018-03-01T21:03:05 Z BlackFlag777 컴퓨터 네트워크 (BOI14_network) C++14
25 / 100
126 ms 6456 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(ping(i,j)==0&&!m[{i,j}]&&!m[{j,i}])
                    {
                        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:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int i=0;i<v[p].size();i++)
                          ^
network.cpp:54:22: 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]);
                                         ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 117 ms 4216 KB Too many calls to ping
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 125 ms 6456 KB Output is correct
2 Correct 29 ms 6456 KB Output is correct
3 Correct 120 ms 6456 KB Output is correct
4 Correct 116 ms 6456 KB Output is correct
5 Correct 126 ms 6456 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 105 ms 6456 KB Too many calls to ping
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 110 ms 6456 KB Too many calls to ping
2 Halted 0 ms 0 KB -