| Task: | Bittijono |
| Sender: | rottis |
| Submission time: | 2026-01-17 16:53:47 +0200 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | RUNTIME ERROR | 0 |
| #2 | RUNTIME ERROR | 0 |
| #3 | RUNTIME ERROR | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | RUNTIME ERROR | 0.01 s | 1, 3 | details |
| #2 | RUNTIME ERROR | 0.01 s | 1, 2, 3 | details |
| #3 | RUNTIME ERROR | 0.01 s | 1, 3 | details |
| #4 | RUNTIME ERROR | 0.01 s | 1, 3 | details |
| #5 | RUNTIME ERROR | 0.01 s | 1, 3 | details |
| #6 | RUNTIME ERROR | 0.01 s | 3 | details |
| #7 | RUNTIME ERROR | 0.01 s | 2, 3 | details |
| #8 | RUNTIME ERROR | 0.01 s | 3 | details |
| #9 | RUNTIME ERROR | 0.01 s | 2, 3 | details |
| #10 | RUNTIME ERROR | 0.01 s | 2, 3 | details |
| #11 | RUNTIME ERROR | 0.01 s | 3 | details |
| #12 | RUNTIME ERROR | 0.01 s | 2, 3 | details |
| #13 | RUNTIME ERROR | 0.01 s | 3 | details |
| #14 | RUNTIME ERROR | 0.01 s | 3 | details |
| #15 | RUNTIME ERROR | 0.01 s | 3 | details |
| #16 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
| #17 | RUNTIME ERROR | 0.01 s | 1, 3 | details |
| #18 | RUNTIME ERROR | 0.01 s | 1, 3 | details |
| #19 | RUNTIME ERROR | 0.01 s | 3 | details |
| #20 | RUNTIME ERROR | 0.01 s | 3 | details |
Code
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int M = 1e9 + 7;
ll n, m, p, t;
vector<int> g[100001];
ll dist_from_end[100001];
void find_shortest() {
priority_queue<pair<int, int>> q;
q.push({-1, n});
bool vis[100001];
while (!q.empty()) {
pair<int, int> cur = q.top(); q.pop();
if (vis[cur.second]) continue;
vis[cur.second] = true;
dist_from_end[cur.second] = -cur.first;
for (int con : g[cur.second]) {
q.push({cur.first - 1, con});
}
}
}
bool vis[100001]; // if extras == 1 and we go to an old node, return
map<ll, ll> cache[100001];
ll dfs(ll node, ll steps_left) {
if (cache[node][steps_left]) return cache[node][steps_left];
if (steps_left == 0) {
cache[node][steps_left] = node == n;
return node == n;
}
// why not???
if (steps_left+t+10 <= dist_from_end[node]) return 0;
ll res = 0;
vis[node] = true;
for (ll con : g[node]) {
if (t <= 1 && vis[con]) continue;
//if (dist_from_end[con] > steps_left + 10) continue;
res += dfs(con, steps_left-1); res %= M;
}
vis[node] = false;
res %= M;
cache[node][steps_left] = res;
return res;
}
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
cin >> n >> m >> p;
for (ll i = 0; i < m; i++) {
ll a, b;
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
find_shortest();
for (t = 0; t < p; t++) {
//for (int i = 0; i < n; i++) cache[i].clear();
cout << dfs(1, dist_from_end[1] + t-1) << ' ';
}
return 0;
}Test details
Test 1 (public)
Group: 1, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 8 3 5 10110001 01101000 |
| correct output |
|---|
| 11 |
| user output |
|---|
| (empty) |
Test 2
Group: 1, 2, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 10 644 644 0111000100 0000010111 |
| correct output |
|---|
| 1932 |
| user output |
|---|
| (empty) |
Test 3
Group: 1, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 10 493 986 0001110000 0001100001 |
| correct output |
|---|
| 986 |
| user output |
|---|
| (empty) |
Test 4
Group: 1, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 10 240 720 1011001110 1000000001 |
| correct output |
|---|
| 1200 |
| user output |
|---|
| (empty) |
Test 5
Group: 1, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 10 3 7 1110111111 0010010101 |
| correct output |
|---|
| 15 |
| user output |
|---|
| (empty) |
Test 6
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 1 1000000000 001100110010101001010111000110... |
| correct output |
|---|
| 50252 |
| user output |
|---|
| (empty) |
Test 7
Group: 2, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 1000000000 1 110010000110110100110110101011... |
| correct output |
|---|
| 25055 |
| user output |
|---|
| (empty) |
Test 8
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 1000 1000000000 001001101010100000011110000101... |
| correct output |
|---|
| 50001000 |
| user output |
|---|
| (empty) |
Test 9
Group: 2, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 1000000000 1000 101010110001010011011011101110... |
| correct output |
|---|
| 24939000 |
| user output |
|---|
| (empty) |
Test 10
Group: 2, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 1000000000 1000000000 001000000001000000000010110111... |
| correct output |
|---|
| 25023000000000 |
| user output |
|---|
| (empty) |
Test 11
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 123456789 987654321 100010110100011000001111001110... |
| correct output |
|---|
| 5475678967593 |
| user output |
|---|
| (empty) |
Test 12
Group: 2, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 987654321 123456789 000100110000010110111101111101... |
| correct output |
|---|
| 3071481453531 |
| user output |
|---|
| (empty) |
Test 13
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 1000000 1000000000 001100110010100011000111101100... |
| correct output |
|---|
| 49916000000 |
| user output |
|---|
| (empty) |
Test 14
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 10000000 1000000000 110111101101111110100101011000... |
| correct output |
|---|
| 494930000000 |
| user output |
|---|
| (empty) |
Test 15
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 100000000 1000000000 111110000010100011011100110010... |
| correct output |
|---|
| 4547300000000 |
| user output |
|---|
| (empty) |
Test 16
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 1 1 1 1 1 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 1 |
Feedback: Incorrect character on line 1 col 1: expected "0", got "1"
Test 17
Group: 1, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 10 600 800 0000000000 1110111111 |
| correct output |
|---|
| 1400 |
| user output |
|---|
| (empty) |
Test 18
Group: 1, 3
Verdict: RUNTIME ERROR
| input |
|---|
| 10 300 599 1101001010 0011010110 |
| correct output |
|---|
| 1198 |
| user output |
|---|
| (empty) |
Test 19
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 300000000 500000000 010011101001001010010101101101... |
| correct output |
|---|
| 10000000000000 |
| user output |
|---|
| (empty) |
Test 20
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 100000 60000 1000000000 110110111011010100001000011011... |
| correct output |
|---|
| 3000000000 |
| user output |
|---|
| (empty) |
