QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#274884 | #4357. School Road | wavelets# | 0 | 123ms | 32720kb | C++14 | 2.1kb | 2023-12-04 04:06:49 | 2024-07-04 03:11:59 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int inf = 1e9+7;
const int mx = 1e5+5;
vector<pair<int,int>> adj[mx];
vector<int> mark (mx, 0);
vector<int> d (mx, 0);
vector<int> good (mx, 0);
vector<int> sub(mx, 0);
int ans = 0;
int n, m;
bool dfs1(int v, int p, int dd){
d[v] = dd;
mark [v] = 1;
bool res = 0, res2 = (v == n-1);
for(auto &[u, w] : adj[v]){
if (u == p) continue;
if(mark[u]) continue;
res |= dfs1(u, v, dd+w);
}
good[v] |= res;
return res | res2;
}
bool dfs2(int v, int p){
mark[v] = 1;
bool res = 0, res2 = 0;
for(auto &[u, w] : adj[v]){
if (u == p) continue;
if(mark[u]) {
res2 |= good[u];
continue;
}
res |= dfs2(u, v);
}
good[v] |= res;
return res | res2;
}
set<int>* tmp = new set<int>();
void dfs3(int v, int p, bool t){
t |= (v == n-1);
if(!good[v] && !t) return;
mark[v] = 1;
set<int>* res = new set<int>();
for(auto &[u, w] : adj[v]){
if (u == p) continue;
if(mark[u]) {
continue;
}
dfs3(u, v, t);
if((*res).size() < (*tmp).size()) swap(res, tmp);
(*res).insert((*tmp).begin(), (*tmp).end());
}
(*res).erase(d[v]);
for(auto &[u, w] : adj[v]){
if (u == p) continue;
if(mark[u] && d[u] < d[v]) {
if(good[u] && d[u]!=n-1&& abs(d[n-1]-d[u]) != abs(d[n-1]-d[v])+w) {
ans = 1;
}
if((*res).size() && good[u] && *(*res).rbegin() > d[u]){
ans = 1;
}
}
}
for(auto &[u, w] : adj[v]){
if (u == p) continue;
if(mark[u] && d[u] < d[v]) {
(*res).insert(d[u]);
}
}
for(auto &[u, w] : adj[v]){
if (u == p) continue;
if(mark[u] && d[u] < d[v]) {
if((*res).size() && d[u] <= d[n-1] && d[v] > d[n-1] && good[u] && *(*res).begin() < d[u] && abs(d[v]-d[n-1]) != w+abs(d[u]-d[n-1])){
ans = 1;
}
}
}
swap(tmp ,res);
}
signed main(){
cin >> n >> m;
for(int i = 0 ; i < m; i++){
int u, v, w; cin >> u >> v >> w;u--;v--;
adj[u].push_back({v, w});
adj[v].push_back({u, w});
}
dfs1(0, 0, 0);
mark.assign(n, 0);
dfs2(0, 0);
mark.assign(n, 0);
dfs3(0, 0, 0);
cout<<ans<<endl;
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 7
Accepted
time: 3ms
memory: 8400kb
input:
14 40 8 12 570429827 6 10 592780730 13 14 299807355 4 10 729771483 4 10 729771483 6 9 746405411 2 3 696576351 12 14 192640790 4 13 284900209 1 2 857968292 12 14 192640790 8 12 570429827 6 10 592780730 6 9 746405411 9 11 329648726 4 13 284900209 2 3 696576351 4 10 729771483 5 11 101819611 3 7 1824073...
output:
0
result:
ok single line: '0'
Test #2:
score: 0
Accepted
time: 0ms
memory: 8444kb
input:
41 40 12 19 102666211 30 32 10931929 8 34 88862177 11 29 37284876 6 35 24117284 6 11 24483138 10 35 11019124 4 22 509961847 20 39 77098829 25 33 563195350 22 24 781289886 2 17 238185039 21 27 288940653 3 31 62767763 18 21 350694322 2 40 228181439 3 33 109276182 31 36 203571934 28 34 64098677 14 24 3...
output:
0
result:
ok single line: '0'
Test #3:
score: 0
Accepted
time: 0ms
memory: 8428kb
input:
41 40 2 21 69489336 7 32 715357509 25 38 324791430 1 39 430674626 15 40 551039547 5 18 334574228 23 37 712919654 9 27 367576234 15 38 171641096 5 36 183325856 1 6 339460052 23 26 796129406 31 35 572322695 34 35 783409641 2 4 754027046 8 33 413068373 29 33 900915508 10 13 296104622 32 39 88880510 17 ...
output:
0
result:
ok single line: '0'
Test #4:
score: -7
Wrong Answer
time: 0ms
memory: 8368kb
input:
40 40 7 39 44916253 4 18 958910119 9 37 670785398 3 8 753908936 34 39 917194277 25 31 554847014 6 36 606005704 3 20 104555289 29 31 898892301 4 10 641381082 24 30 321262615 15 24 978365334 13 19 237154728 1 30 159127129 1 38 273921427 33 35 95259264 35 40 9238012 9 25 518899851 12 22 920531620 32 38...
output:
0
result:
wrong answer 1st lines differ - expected: '1', found: '0'
Subtask #2:
score: 0
Wrong Answer
Test #11:
score: 0
Wrong Answer
time: 0ms
memory: 8428kb
input:
18 40 3 10 26965732 5 15 67047331 3 17 42474964 13 15 129212204 9 18 142540287 2 14 27157962 5 15 67047331 5 15 67047331 5 15 67047331 4 16 212978971 6 12 51548223 4 18 192438222 13 16 60052417 16 17 162364835 6 17 55527270 9 11 58810843 3 7 95393586 13 15 129212204 2 17 67824762 5 15 67047331 15 16...
output:
1
result:
wrong answer 1st lines differ - expected: '0', found: '1'
Subtask #3:
score: 0
Wrong Answer
Test #18:
score: 23
Accepted
time: 123ms
memory: 32720kb
input:
100000 99999 42115 93495 19881095 21969 68351 161710 7405 86343 27129 37307 45676 320013 30388 71545 117761 22026 68957 65332 77949 81644 2281387 24865 95079 341488 9849 98496 2548159 53911 79572 4962105 24880 62622 1678564 15943 22168 1524688 67424 78323 2450655 32175 74893 1908332 35640 39305 1043...
output:
0
result:
ok single line: '0'
Test #19:
score: 0
Accepted
time: 108ms
memory: 32456kb
input:
100000 100013 19959 56142 776045 6894 37840 718015 11415 73383 1519031 35732 78712 566052 78739 96739 584053 24958 28098 854234 27498 62413 1735265 27341 91341 11692771 46008 96501 299421 14384 78871 1903953 15562 33609 158393 5270 76189 69630274 38130 51331 187183 61589 75145 81438587 45138 86388 5...
output:
0
result:
ok single line: '0'
Test #20:
score: 0
Accepted
time: 97ms
memory: 19928kb
input:
100000 100013 30467 74396 2840367 12869 90814 1569862 18883 60521 211271 95973 98805 3444504 52606 61422 697591 49637 61784 1034159 21957 33982 3827036 10128 68617 444124 20731 81447 5807317 15570 35763 123607 22128 33827 59368 34479 41370 15053204 52297 55748 435155 22820 56102 66369 19316 92816 76...
output:
0
result:
ok single line: '0'
Test #21:
score: 0
Accepted
time: 88ms
memory: 30016kb
input:
100000 100013 6205 55122 513428 28020 94742 60755466 48078 86373 1325655 61744 68231 26052939 37580 98090 9672421 212 97377 3362861 54617 85198 820827 18698 55299 25810204 67840 93714 1138074 30462 46234 1718665 5128 72146 9162 58950 61074 307192 51972 95908 17177745 21488 31396 49979 62397 85443 36...
output:
1
result:
ok single line: '1'
Test #22:
score: 0
Accepted
time: 94ms
memory: 14052kb
input:
100000 99999 19850 75975 943175751 21189 63299 996032089 76265 87827 660736166 36836 70989 973169671 82782 95658 415989502 45058 47250 242170764 44441 93529 960208798 13272 45503 978605084 59468 76581 686999602 52712 60469 485026032 28127 99910 514139475 14040 83145 700781506 5160 93554 709017172 32...
output:
0
result:
ok single line: '0'
Test #23:
score: -23
Wrong Answer
time: 90ms
memory: 14196kb
input:
100000 100013 2867 88520 823893343 10166 18433 965031326 45017 46972 147676335 1424 34485 808660907 42016 87304 469583711 7697 63483 850638214 25529 90029 215431387 66607 70454 615231339 7995 66563 711608994 53466 73356 525421026 3488 63274 855858399 15596 80635 469348707 23372 63955 540766328 22261...
output:
0
result:
wrong answer 1st lines differ - expected: '1', found: '0'
Subtask #4:
score: 0
Wrong Answer
Test #57:
score: 0
Wrong Answer
time: 2ms
memory: 8332kb
input:
18 400 11 18 145314505 1 18 242896789 1 18 242896789 5 13 31030812 13 18 93451080 1 18 242896789 1 7 123378068 1 18 242896789 1 18 242896789 1 18 242896789 1 18 242896789 1 18 242896789 1 18 242896789 1 3 42183985 1 18 242896789 13 18 93451080 1 18 242896789 13 18 93451080 1 18 242896789 1 18 242896...
output:
1
result:
wrong answer 1st lines differ - expected: '0', found: '1'
Subtask #5:
score: 0
Skipped
Dependency #1:
0%