QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#839915#8729. TikvaniHuTao41 1ms3976kbC++141.2kb2025-01-02 11:51:292025-01-02 11:51:30

Judging History

This is the latest submission verdict.

  • [2025-01-02 11:51:30]
  • Judged
  • Verdict: 41
  • Time: 1ms
  • Memory: 3976kb
  • [2025-01-02 11:51:29]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

const int N = 405, P = 998244353;

typedef bitset<N> BS;

int n, m;
int la[N], ne[N], en[N], idx;
BS dis[N];
int vis[N], st[N];
BS b[N];
int ans;

inline void Insert(BS x)
{
    for(int i = 1; i <= m; i ++ )
        if(x[i])
        {
            if(!st[i]) return st[i] = 1, b[i] = x, void(ans -- );
            else x ^= b[i];
        }
}
inline void Add(int a, int b)
{
    ne[ ++ idx] = la[a];
    la[a] = idx;
    en[idx] = b;
}
inline void DFS(int u)
{
    vis[u] = 1;
    for(int i = la[u]; i; i = ne[i])
    {
        int v = en[i];
        if(!vis[v])
        {
            dis[v] = dis[u];
            dis[v].set(i);
            DFS(v);
        }
        else
        {
            // printf("#%d %d\n", u, v);
            Insert((dis[u] ^ dis[v]).set(i));
        }
    }
}

int main()
{
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= m; i ++ )
    {
        int a, b;
        scanf("%d%d", &a, &b);
        Add(a, b);
    }
    ans = m;
    for(int i = 1; i <= n; i ++ )
    {
        memset(vis, 0, sizeof vis);
        DFS(i);
    }
    int sum = 1;
    for(int i = 1; i <= ans; i ++ ) sum = sum * 2 % P;
    printf("%d\n", sum);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 21
Accepted

Test #1:

score: 21
Accepted
time: 0ms
memory: 3776kb

input:

6 5
3 5
2 5
1 6
4 6
2 6

output:

32

result:

ok 1 number(s): "32"

Test #2:

score: 21
Accepted
time: 0ms
memory: 3896kb

input:

6 6
2 5
1 2
3 4
5 6
3 6
1 5

output:

32

result:

ok 1 number(s): "32"

Test #3:

score: 21
Accepted
time: 0ms
memory: 3832kb

input:

6 7
3 6
1 3
3 5
2 3
1 6
2 6
2 5

output:

16

result:

ok 1 number(s): "16"

Test #4:

score: 21
Accepted
time: 0ms
memory: 3756kb

input:

6 8
1 4
2 3
5 6
3 6
4 5
2 6
4 6
1 5

output:

32

result:

ok 1 number(s): "32"

Test #5:

score: 21
Accepted
time: 0ms
memory: 3908kb

input:

6 7
1 4
3 6
2 3
1 5
2 4
2 6
5 6

output:

64

result:

ok 1 number(s): "64"

Test #6:

score: 21
Accepted
time: 0ms
memory: 3808kb

input:

6 8
2 3
2 4
2 5
3 6
1 6
1 2
1 4
1 5

output:

32

result:

ok 1 number(s): "32"

Test #7:

score: 21
Accepted
time: 0ms
memory: 3812kb

input:

6 7
5 6
2 5
2 4
1 6
2 3
3 6
1 2

output:

32

result:

ok 1 number(s): "32"

Test #8:

score: 21
Accepted
time: 0ms
memory: 3976kb

input:

6 8
2 3
1 4
2 4
3 6
1 5
5 6
1 6
2 6

output:

64

result:

ok 1 number(s): "64"

Test #9:

score: 21
Accepted
time: 0ms
memory: 3776kb

input:

6 7
2 6
4 5
1 2
3 6
3 5
1 4
5 6

output:

32

result:

ok 1 number(s): "32"

Test #10:

score: 21
Accepted
time: 0ms
memory: 3924kb

input:

6 8
2 3
3 4
1 5
2 4
1 4
1 3
3 5
5 6

output:

32

result:

ok 1 number(s): "32"

Test #11:

score: 21
Accepted
time: 0ms
memory: 3884kb

input:

6 7
2 6
4 5
1 2
5 6
2 4
1 5
2 5

output:

16

result:

ok 1 number(s): "16"

Test #12:

score: 21
Accepted
time: 0ms
memory: 3884kb

input:

6 8
1 6
4 5
1 3
1 2
3 6
4 6
1 4
3 4

output:

32

result:

ok 1 number(s): "32"

Test #13:

score: 21
Accepted
time: 0ms
memory: 3780kb

input:

6 15
1 5
2 5
3 4
4 5
2 4
2 6
1 4
1 3
4 6
5 6
1 2
1 6
3 5
2 3
3 6

output:

32

result:

ok 1 number(s): "32"

Subtask #2:

score: 20
Accepted

Dependency #1:

100%
Accepted

Test #14:

score: 20
Accepted
time: 0ms
memory: 3900kb

input:

13 12
4 10
1 11
6 10
1 7
3 6
3 8
4 12
5 9
1 5
6 11
10 11
6 12

output:

2048

result:

ok 1 number(s): "2048"

Test #15:

score: 20
Accepted
time: 0ms
memory: 3892kb

input:

13 13
6 12
1 2
5 10
5 6
1 3
3 10
3 12
7 8
4 12
1 6
3 7
3 9
7 13

output:

4096

result:

ok 1 number(s): "4096"

Test #16:

score: 20
Accepted
time: 0ms
memory: 3884kb

input:

13 14
1 10
2 8
4 12
5 6
5 13
10 11
10 12
2 11
3 6
4 7
1 8
3 12
3 5
3 11

output:

8192

result:

ok 1 number(s): "8192"

Test #17:

score: 20
Accepted
time: 0ms
memory: 3900kb

input:

13 15
4 11
2 8
2 5
3 6
9 10
3 10
2 11
10 12
8 11
5 11
4 10
1 4
8 10
7 9
3 11

output:

8192

result:

ok 1 number(s): "8192"

Test #18:

score: 20
Accepted
time: 0ms
memory: 3776kb

input:

13 16
2 10
9 11
6 13
5 11
11 12
5 6
4 5
3 7
5 10
8 11
9 10
1 3
5 8
1 10
3 12
3 10

output:

16384

result:

ok 1 number(s): "16384"

Test #19:

score: 20
Accepted
time: 0ms
memory: 3776kb

input:

13 17
10 13
9 12
1 9
2 3
8 11
9 10
3 10
2 7
3 6
5 12
1 6
2 4
1 7
2 5
3 9
5 8
2 9

output:

16384

result:

ok 1 number(s): "16384"

Test #20:

score: 20
Accepted
time: 0ms
memory: 3908kb

input:

13 18
7 10
6 10
3 8
4 8
5 6
4 13
1 5
5 9
1 6
3 9
2 12
4 9
3 4
1 12
10 11
5 11
3 7
6 8

output:

16384

result:

ok 1 number(s): "16384"

Test #21:

score: 20
Accepted
time: 0ms
memory: 3896kb

input:

13 20
5 13
2 13
4 6
1 12
10 12
1 8
2 8
7 13
1 5
1 6
6 12
8 10
7 11
3 5
3 10
5 10
1 13
4 11
6 10
8 13

output:

4096

result:

ok 1 number(s): "4096"

Test #22:

score: 20
Accepted
time: 0ms
memory: 3884kb

input:

13 25
5 10
2 11
1 3
4 13
9 13
6 11
8 13
1 4
2 9
4 5
3 4
5 6
2 12
8 12
2 4
6 13
3 7
4 7
5 7
11 12
5 13
3 13
12 13
1 2
4 12

output:

4096

result:

ok 1 number(s): "4096"

Test #23:

score: 20
Accepted
time: 0ms
memory: 3968kb

input:

13 50
2 3
3 4
1 2
2 11
1 7
6 13
2 7
3 7
8 12
1 9
12 13
4 10
7 11
3 9
1 4
7 13
6 9
5 9
1 12
3 11
6 12
1 3
3 13
8 11
2 13
10 13
1 13
8 9
7 12
3 10
8 10
2 8
4 5
5 8
7 9
5 7
6 11
4 9
3 6
4 7
2 4
6 7
7 10
6 10
5 13
8 13
10 12
1 11
4 6
7 8

output:

4096

result:

ok 1 number(s): "4096"

Test #24:

score: 20
Accepted
time: 1ms
memory: 3972kb

input:

13 78
6 12
8 12
4 6
7 12
2 13
8 9
6 13
5 9
4 5
1 6
8 13
1 10
2 12
1 9
2 7
4 10
4 13
4 11
5 8
1 3
9 12
1 5
3 7
3 11
5 13
2 9
9 13
1 4
1 8
6 10
2 11
10 13
3 6
8 10
11 12
9 11
9 10
6 8
1 7
5 6
4 7
10 12
5 11
2 10
6 9
4 12
2 8
4 9
3 12
11 13
7 11
3 5
6 11
1 13
3 8
8 11
1 11
2 6
5 7
6 7
7 9
1 12
2 3
7 13...

output:

4096

result:

ok 1 number(s): "4096"

Subtask #3:

score: 0
Wrong Answer

Test #25:

score: 0
Wrong Answer
time: 0ms
memory: 3976kb

input:

50 50
29 32
3 12
36 41
10 30
6 18
20 27
14 36
4 33
6 7
17 31
33 40
2 49
19 42
3 30
2 18
11 42
21 29
11 23
1 35
32 50
22 46
6 22
42 48
15 23
7 43
11 13
5 9
40 50
25 42
5 31
27 30
1 17
14 48
5 44
35 41
1 23
10 21
40 48
12 36
13 37
23 37
23 43
19 26
6 15
13 45
19 27
17 29
20 38
29 42
26 49

output:

16495246

result:

wrong answer 1st numbers differ - expected: '974740338', found: '16495246'

Subtask #4:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

0%