QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#524213#5663. Tangle: A DAG for storing transactionsucup-team3699#WA 1ms7908kbC++141.2kb2024-08-19 12:41:152024-08-19 12:41:15

Judging History

你现在查看的是最新测评结果

  • [2024-08-19 12:41:15]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:7908kb
  • [2024-08-19 12:41:15]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const int N = 10005;
int w[N];
int d[N];
vector<int> graph[N];
bitset<N> have[N];
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, th;
    cin >> n >> th;
    graph[1].push_back(0);
    int x, y, z;
    d[0] += 1;
    for(int i = 0; i < n; i++){
        cin >> x >> y >> z;
        cin >> w[x];
        graph[x].push_back(y);
        graph[x].push_back(z);
        d[y] += 1;
        d[z] += 1;
    }
    queue<int> que;
    for(int i = 0; i <= n + 1; i++){
        have[i] |= (1 << i);
        if(d[i] == 0){
            que.push(i);
        }
    }
    while(!que.empty()){
        int top = que.front();
        que.pop();
        for(auto i : graph[top]){
            have[i] |= have[top];
            d[i]--;
            if(d[i] == 0){
                que.push(i);
            }
        }
    }
    int cnt = 0;
    for(int i = 2; i <= n; i++){
        int sum = 0;
        for(int j = 0; j <= n + 1; j++){
            if(have[i][j])
                sum += w[j];
        }
        if(sum >= th){
            cnt++;
            cout << i << ' ' << sum << '\n';
        }
    }
    cout << cnt << '\n';
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3828kb

input:

6 12
2 0 1 3
3 0 2 2
4 1 2 1
5 2 3 3
6 3 4 4
7 3 5 5

output:

2 18
3 14
2

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 1ms
memory: 4080kb

input:

21 20
2 0 1 2
3 1 0 5
4 1 0 2
5 2 1 1
6 1 3 1
7 5 4 1
8 3 7 5
9 2 4 1
10 4 9 1
11 9 4 5
12 4 8 2
13 3 12 2
14 2 10 5
15 11 12 4
16 3 9 2
17 1 16 4
18 0 7 3
19 11 5 2
20 14 4 5
21 19 5 2
22 18 9 4

output:

2 51
3 25
4 50
5 26
7 21
9 35
6

result:

ok 7 lines

Test #3:

score: -100
Wrong Answer
time: 0ms
memory: 7908kb

input:

99 250
2 1 0 1
3 0 2 2
4 3 2 1
5 4 3 4
6 1 2 3
7 5 0 1
8 0 7 2
9 0 8 3
10 3 4 5
11 1 4 4
12 5 6 3
13 12 8 2
14 13 2 3
15 4 10 5
16 5 6 1
17 7 10 1
18 2 5 5
19 9 7 4
20 16 12 5
21 6 3 1
22 7 9 1
23 13 11 1
24 12 9 3
25 7 22 3
26 10 20 5
27 11 12 2
28 26 9 5
29 18 6 5
30 13 17 4
31 25 12 4
32 31 20 3
...

output:

0

result:

wrong answer 1st lines differ - expected: '2 297', found: '0'