답안 #78648

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
78648 2018-10-06T19:43:52 Z duality 007 (CEOI14_007) C++11
30 / 100
356 ms 101648 KB
#define DEBUG 0

#include <bits/stdc++.h>
using namespace std;

#if DEBUG
// basic debugging macros
int __i__,__j__;
#define printLine(l) for(__i__=0;__i__<l;__i__++){cout<<"-";}cout<<endl
#define printLine2(l,c) for(__i__=0;__i__<l;__i__++){cout<<c;}cout<<endl
#define printVar(n) cout<<#n<<": "<<n<<endl
#define printArr(a,l) cout<<#a<<": ";for(__i__=0;__i__<l;__i__++){cout<<a[__i__]<<" ";}cout<<endl
#define print2dArr(a,r,c) cout<<#a<<":\n";for(__i__=0;__i__<r;__i__++){for(__j__=0;__j__<c;__j__++){cout<<a[__i__][__j__]<<" ";}cout<<endl;}
#define print2dArr2(a,r,c,l) cout<<#a<<":\n";for(__i__=0;__i__<r;__i__++){for(__j__=0;__j__<c;__j__++){cout<<setw(l)<<setfill(' ')<<a[__i__][__j__]<<" ";}cout<<endl;}

// advanced debugging class
// debug 1,2,'A',"test";
class _Debug {
    public:
        template<typename T>
        _Debug& operator,(T val) {
            cout << val << endl;
            return *this;
        }
};
#define debug _Debug(),
#else
#define printLine(l)
#define printLine2(l,c)
#define printVar(n)
#define printArr(a,l)
#define print2dArr(a,r,c)
#define print2dArr2(a,r,c,l)
#define debug
#endif

// define
#define MAX_VAL 999999999
#define MAX_VAL_2 999999999999999999LL
#define EPS 1e-6
#define mp make_pair
#define pb push_back

// typedef
typedef unsigned int UI;
typedef long long int LLI;
typedef unsigned long long int ULLI;
typedef unsigned short int US;
typedef pair<int,int> pii;
typedef pair<LLI,LLI> plli;
typedef vector<int> vi;
typedef vector<LLI> vlli;
typedef vector<pii> vpii;
typedef vector<plli> vplli;

// ---------- END OF TEMPLATE ----------

vi adjList[200000];
int dist[200000];
queue<int> Q;
int main() {
    int i;
    int N,M;
    int s,d,a,b,u,v;
    scanf("%d %d",&N,&M);
    scanf("%d %d %d %d",&s,&d,&a,&b);
    s--,d--,a--,b--;
    for (i = 0; i < M; i++) {
        scanf("%d %d",&u,&v);
        u--,v--;
        adjList[u].pb(v);
        adjList[v].pb(u);
    }

    fill(dist,dist+N,-1);
    dist[a] = dist[b] = 0;
    Q.push(a),Q.push(b);
    while (!Q.empty()) {
        u = Q.front();
        Q.pop();

        for (i = 0; i < adjList[u].size(); i++) {
            v = adjList[u][i];
            if (dist[v] == -1) {
                dist[v] = dist[u]+1;
                Q.push(v);
            }
        }
    }
    if (dist[d])
    printf("%d\n",max(dist[d]-dist[s]-1,-1));

    return 0;
}

Compilation message

007.cpp: In function 'int main()':
007.cpp:82:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (i = 0; i < adjList[u].size(); i++) {
                     ~~^~~~~~~~~~~~~~~~~~~
007.cpp:65:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&N,&M);
     ~~~~~^~~~~~~~~~~~~~~
007.cpp:66:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d %d %d",&s,&d,&a,&b);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
007.cpp:69:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d %d",&u,&v);
         ~~~~~^~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Partially correct 6 ms 5248 KB Partially correct
3 Partially correct 6 ms 5456 KB Partially correct
4 Correct 6 ms 5456 KB Output is correct
5 Correct 6 ms 5456 KB Output is correct
6 Partially correct 6 ms 5504 KB Partially correct
7 Partially correct 7 ms 5680 KB Partially correct
8 Correct 7 ms 5680 KB Output is correct
9 Partially correct 7 ms 5680 KB Partially correct
10 Correct 6 ms 5680 KB Output is correct
11 Partially correct 6 ms 5680 KB Partially correct
12 Correct 7 ms 5680 KB Output is correct
13 Partially correct 6 ms 5680 KB Partially correct
14 Correct 6 ms 5680 KB Output is correct
15 Partially correct 6 ms 5680 KB Partially correct
16 Correct 6 ms 5680 KB Output is correct
17 Correct 6 ms 5688 KB Output is correct
18 Correct 6 ms 5712 KB Output is correct
19 Partially correct 6 ms 5712 KB Partially correct
20 Partially correct 6 ms 5744 KB Partially correct
21 Correct 6 ms 5744 KB Output is correct
22 Partially correct 6 ms 5744 KB Partially correct
23 Partially correct 6 ms 5744 KB Partially correct
24 Correct 6 ms 5752 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 30 ms 7600 KB Partially correct
2 Correct 36 ms 8972 KB Output is correct
3 Partially correct 28 ms 8972 KB Partially correct
4 Correct 44 ms 10296 KB Output is correct
5 Correct 28 ms 10296 KB Output is correct
6 Correct 28 ms 10700 KB Output is correct
7 Partially correct 30 ms 11336 KB Partially correct
8 Partially correct 30 ms 11912 KB Partially correct
9 Correct 46 ms 13376 KB Output is correct
10 Partially correct 182 ms 22872 KB Partially correct
11 Correct 54 ms 22872 KB Output is correct
12 Partially correct 83 ms 22968 KB Partially correct
13 Correct 58 ms 23540 KB Output is correct
14 Correct 47 ms 23992 KB Output is correct
15 Partially correct 69 ms 26624 KB Partially correct
16 Correct 83 ms 28500 KB Output is correct
17 Partially correct 65 ms 29148 KB Partially correct
18 Correct 77 ms 30400 KB Output is correct
19 Partially correct 109 ms 34128 KB Partially correct
20 Correct 217 ms 42536 KB Output is correct
21 Correct 94 ms 42536 KB Output is correct
22 Partially correct 84 ms 43276 KB Partially correct
23 Partially correct 94 ms 45912 KB Partially correct
24 Partially correct 93 ms 47780 KB Partially correct
25 Correct 88 ms 49260 KB Output is correct
26 Partially correct 81 ms 50732 KB Partially correct
27 Partially correct 96 ms 53412 KB Partially correct
28 Partially correct 102 ms 55500 KB Partially correct
29 Partially correct 146 ms 59472 KB Partially correct
30 Correct 235 ms 67336 KB Output is correct
31 Correct 112 ms 67824 KB Output is correct
32 Partially correct 107 ms 68980 KB Partially correct
33 Partially correct 110 ms 71264 KB Partially correct
34 Correct 113 ms 73740 KB Output is correct
35 Correct 110 ms 75552 KB Output is correct
36 Correct 109 ms 77968 KB Output is correct
37 Correct 134 ms 81120 KB Output is correct
38 Partially correct 130 ms 83528 KB Partially correct
39 Partially correct 140 ms 85868 KB Partially correct
40 Correct 224 ms 91972 KB Output is correct
41 Partially correct 356 ms 101648 KB Partially correct