Submission details
Task:Road network
Sender:dawidwozny7
Submission time:2020-10-03 14:02:17 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.01 sdetails
#20.01 sdetails
#3ACCEPTED0.01 sdetails
#4ACCEPTED0.01 sdetails
#5ACCEPTED0.01 sdetails
#6--details
#7--details
#80.16 sdetails
#9--details
#10--details
#110.01 sdetails

Compiler report

input/code.cpp: In function 'void DFS(int, int)':
input/code.cpp:11:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 for(int i=0;i<somsiad[x].size();++i){
             ~^~~~~~~~~~~~~~~~~~

Code

#include <bits/stdc++.h>

using namespace std;

vector<int> somsiad[100010];
int odw[100010];
int licz=0;
void DFS(int x,int st){
odw[x]=st;
licz++;
for(int i=0;i<somsiad[x].size();++i){
    if(odw[somsiad[x][i]]!=st)DFS(somsiad[x][i],st);
}
}

int main()
{
    int n,m;
    cin >> n >> m;
    int a,b;
    for(int i=0;i<m;++i)
    {
        cin >> a >> b;
        somsiad[a].push_back(b);
    }
    bool przerwany=false;
    for(int j=1;j<=n && przerwany==false ;++j){
        licz=0;
        DFS(j,j);
        if(licz<n){
        cout << "NO" << endl;
        przerwany=true;
        for(int i=1;i<=n;++i){
            if(odw[i]!=j && i!=j)cout << j << " " << i << endl;
            break;
        }
    }
    }
    if(przerwany==false) cout << "YES" << endl;
    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
10 20
8 1
9 5
6 10
6 1
...

correct output
NO
7 1

user output
NO
7 1

Test 2

Verdict:

input
10 20
2 10
10 6
8 5
3 8
...

correct output
NO
1 2

user output
NO

Test 3

Verdict: ACCEPTED

input
10 20
10 2
1 5
8 3
5 6
...

correct output
NO
9 1

user output
NO
9 1

Test 4

Verdict: ACCEPTED

input
10 20
9 6
10 4
7 2
10 5
...

correct output
NO
6 1

user output
NO
6 1

Test 5

Verdict: ACCEPTED

input
10 20
5 9
10 2
3 5
7 4
...

correct output
YES

user output
YES

Test 6

Verdict:

input
100000 200000
64780 62469
32706 84268
37795 14893
23995 68041
...

correct output
NO
40590 1

user output
(empty)

Test 7

Verdict:

input
100000 200000
74725 92399
25141 53472
70762 85785
47091 71621
...

correct output
NO
96983 1

user output
(empty)

Test 8

Verdict:

input
100000 200000
50342 88741
55031 42206
24989 54546
666 39964
...

correct output
NO
1 68638

user output
NO

Test 9

Verdict:

input
100000 200000
51243 54643
90493 3012
62110 9430
5809 45601
...

correct output
NO
48024 1

user output
(empty)

Test 10

Verdict:

input
100000 200000
5524 49109
87052 72192
46434 18442
67624 38661
...

correct output
YES

user output
(empty)

Test 11

Verdict:

input
7 10
1 2
2 1
1 4
5 4
...

correct output
NO
2 3

user output
NO