CSES - NOI 2019 - Results
Submission details
Task:Thieves and Prisons
Sender:Gustav Kalander
Submission time:2019-03-06 15:49:27 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
#50
Test results
testverdicttimegroup
#1ACCEPTED0.03 s2, 4, 5details
#20.01 s2, 4, 5details
#30.01 s2, 4, 5details
#40.02 s2, 4, 5details
#50.02 s2, 4, 5details
#60.03 s4, 5details
#70.02 s4, 5details
#80.02 s4, 5details
#90.03 s1, 3, 4, 5details
#100.02 s1, 3, 4, 5details
#110.02 s1, 3, 4, 5details
#120.02 s1, 3, 4, 5details
#130.02 s1, 3, 4, 5details
#140.02 s1, 3, 4, 5details
#15ACCEPTED0.01 s1, 3, 4, 5details
#160.02 s1, 3, 4, 5details
#170.01 s1, 2, 3, 4, 5details
#180.01 s1, 3, 4, 5details
#190.02 s2, 5details
#200.01 s2, 5details
#210.01 s2, 5details
#220.01 s5details
#230.03 s5details
#240.01 s3, 4, 5details
#250.01 s3, 4, 5details
#260.01 s3, 4, 5details
#270.02 s3, 4, 5details
#280.01 s4, 5details
#290.03 s4, 5details
#300.01 s4, 5details
#310.01 s4, 5details
#320.01 s2, 4, 5details
#330.01 s2, 4, 5details
#340.02 s2, 4, 5details
#350.02 s2, 4, 5details
#360.02 s3, 5details
#370.01 s3, 5details
#380.02 s3, 5details
#390.03 s3, 5details
#400.01 s5details
#410.02 s5details
#420.02 s5details
#430.02 s5details
#440.02 s2, 5details
#450.03 s2, 5details
#460.02 s2, 5details
#470.03 s2, 5details

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pi;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<vi> vvi;
const int inf = 0x3f3f3f3f;
const ll mod1 = 1000000007;
const ll mod2 = 998244353;
#define debug(x) cerr << #x << " = " << x << endl

int n, m;
vvi adj;

void dfs(int node, int parent){
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);

    cin >> n >> m;
    adj = vvi(n);
    for(int i = 0; i < m; i++){
        int u,v;
        cin >> u >> v;
        u--,v--;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }

    for(int i = 0; i < n; i++){
        if(adj[i].size() > 2){
            cout << "IMPOSSIBLE\n";
            return 0;
        }
    }
    
    vi visited(n);
    for(int i = 0; i < n; i++){
        if(adj[i].size() == 1){
            do{
                visited[i] = 1;
                cout << i+1 << " ";
                if(!visited[adj[i][0]]){
                    i = adj[i][0];
                }
                else i = adj[i][1];
            }while(adj[i].size() == 2);
            cout << i+1 << "\n";
            return 0;
        }
    }
}

Test details

Test 1

Group: 2, 4, 5

Verdict: ACCEPTED

input
1 1 1
C 1

correct output

user output
1 0

Test 2

Group: 2, 4, 5

Verdict:

input
1 1 1
O 1

correct output
IMPOSSIBLE

user output
1 0

Test 3

Group: 2, 4, 5

Verdict:

input
1 1 2
C 1
C 1

correct output
IMPOSSIBLE

user output
(empty)

Error:
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Test 4

Group: 2, 4, 5

Verdict:

input
1 1 2
C 1
O 1

correct output
IMPOSSIBLE

user output
(empty)

Error:
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Test 5

Group: 2, 4, 5

Verdict:

input
1 1 2
O 1
C 1

correct output
IMPOSSIBLE

user output
(empty)

Error:
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Test 6

Group: 4, 5

Verdict:

input
2 1 2
C 1
C 2

correct output
1 1 

user output
2 0

Test 7

Group: 4, 5

Verdict:

input
2 1 2
C 1
O 1

correct output
IMPOSSIBLE

user output
2 0

Test 8

Group: 4, 5

Verdict:

input
2 1 2
C 1
O 2

correct output
1 1 

user output
2 0

Test 9

Group: 1, 3, 4, 5

Verdict:

input
3 2 5
C 1
C 2
O 3
C 1
...

correct output
1 1 1 1 1 

user output
(empty)

Test 10

Group: 1, 3, 4, 5

Verdict:

input
3 2 5
C 1
C 2
O 3
O 3
...

correct output
2 1 2 1 1 

user output
(empty)

Test 11

Group: 1, 3, 4, 5

Verdict:

input
3 2 5
C 1
C 2
O 3
O 1
...

correct output
2 1 2 1 1 

user output
(empty)

Test 12

Group: 1, 3, 4, 5

Verdict:

input
3 2 5
C 1
C 2
O 1
O 3
...

correct output
IMPOSSIBLE

user output
(empty)

Test 13

Group: 1, 3, 4, 5

Verdict:

input
3 2 4
C 1
O 2
C 1
O 3

correct output
1 1 1 1 

user output
(empty)

Error:
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Test 14

Group: 1, 3, 4, 5

Verdict:

input
3 2 4
C 1
O 2
C 2
O 1

correct output
1 1 1 1 

user output
(empty)

Error:
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Test 15

Group: 1, 3, 4, 5

Verdict: ACCEPTED

input
3 2 3
C 1
C 2
C 3

correct output
1 1 1 

user output
2 1

Test 16

Group: 1, 3, 4, 5

Verdict:

input
3 2 3
O 1
C 2
C 3

correct output
IMPOSSIBLE

user output
2 1

Test 17

Group: 1, 2, 3, 4, 5

Verdict:

input
2 2 7
C 1
O 2
O 2
O 2
...

correct output
IMPOSSIBLE

user output
(empty)

Test 18

Group: 1, 3, 4, 5

Verdict:

input
4 2 5
C 2
O 3
C 1
O 4
...

correct output
1 1 1 1 1 

user output
(empty)

Test 19

Group: 2, 5

Verdict:

input
100000 100000 100000
C 1
C 2
C 3
C 4
...

correct output
50000 49999 49998 49997 49996 ...

user output
(empty)

Test 20

Group: 2, 5

Verdict:

input
100000 100000 100000
C 1
C 2
C 3
C 4
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 21

Group: 2, 5

Verdict:

input
100000 100000 100000
C 1
C 2
C 3
C 4
...

correct output
20000 20000 20000 20000 20000 ...

user output
(empty)

Test 22

Group: 5

Verdict:

input
100000 100 100000
C 1
C 2
C 3
C 4
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 23

Group: 5

Verdict:

input
100000 99 100000
C 1
C 2
C 3
C 4
...

correct output
IMPOSSIBLE

user output
(empty)

Test 24

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
499 1

Test 25

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 ...

user output
499 1

Test 26

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 ...

user output
499 1

Test 27

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
C 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
499 1

Test 28

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
251 1

Test 29

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 1 3 ...

user output
251 1

Test 30

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 3 2 3 3 2 2 2 5 4 2 ...

user output
251 1

Test 31

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
C 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
251 1

Test 32

Group: 2, 4, 5

Verdict:

input
500 500 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
1 -499

Test 33

Group: 2, 4, 5

Verdict:

input
500 500 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 1 3 ...

user output
1 -499

Test 34

Group: 2, 4, 5

Verdict:

input
500 500 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 2 1 3 3 3 2 2 2 2 4 5 ...

user output
1 -499

Test 35

Group: 2, 4, 5

Verdict:

input
500 500 500
C 384
O 62
C 387
C 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
1 -499

Test 36

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 37

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 ...

user output
(empty)

Test 38

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 ...

user output
(empty)

Test 39

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
C 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 40

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 41

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 3 2 1 ...

user output
(empty)

Test 42

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 3 2 3 3 3 3 3 3 4 5 ...

user output
(empty)

Test 43

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
C 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 44

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 45

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 3 2 1 ...

user output
(empty)

Test 46

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 2 1 3 3 3 3 3 3 4 5 3 ...

user output
(empty)

Test 47

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
C 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)