#include <bits/stdc++.h>
using namespace std;
#define forn(i,n) for (int i=0; i<n; ++i)
#define int long long
vector<vector<int>> adj(5001);
vector<vector<int>> cnt(5001,vector<int>(5001,0));
int path[5001];
int ptr=0;
void dfs(int u, int p, int to) {
for (auto v:adj[u]) {
if (v==p) continue;
if (v==to) {
path[ptr++]=v;
path[ptr++]=u;
return;
}
dfs(v,u,to);
if (ptr && path[ptr-1]==v) {
path[ptr++]=u;
return;
}
}
}
void solve() {
int n; cin>>n;
//if (n>5000) exit(0);
forn(i,n-1) {
int u,v; cin>>u>>v;
adj[u].push_back(v);
adj[v].push_back(u);
}
for (int i=0; i<=5000; ++i) {
path[i]=0;
}
int K; cin>>K;
forn(q,K) {
int u,v; cin>>u>>v;
ptr=0;
dfs(u,0,v);
for (int l=0, r=ptr-1; l<r; ++l, --r) {
swap(path[l],path[r]);
}
for (int i=0; i<ptr; ++i) {
for (int j=0; j*ptr+i<5000; ++j) cnt[path[i]][j*ptr+i]++;
}
}
int Q; cin>>Q;
forn(QQ,Q) {
int q; cin>>q;
if (q==1) {
int u,v; cin>>u>>v;
ptr=0;
dfs(u,0,v);
for (int l=0, r=ptr-1; l<r; ++l, --r) {
swap(path[l],path[r]);
}
for (int i=0; i<ptr; ++i) {
for (int j=0; j*ptr+i<5000; ++j) cnt[path[i]][j*ptr+i]++;
}
} else if (q==2) {
int u,v; cin>>u>>v;
ptr=0;
dfs(u,0,v);
for (int l=0, r=ptr-1; l<r; ++l, --r) {
swap(path[l],path[r]);
}
for (int i=0; i<ptr; ++i) {
for (int j=0; j*ptr+i<5000; ++j) cnt[path[i]][j*ptr+i]--;
}
} else {
int u,v; cin>>u>>v;
ptr=0;
dfs(u,0,v);
for (int l=0, r=ptr-1; l<r; ++l, --r) {
swap(path[l],path[r]);
}
int ans=0;
int l,r; cin>>l>>r;
for (int i=0; i<ptr; ++i) {
for (int j=l; j<=r; ++j) ans+=cnt[path[i]][j];
}
cout<<ans<<'\n';
}
}
}
int32_t main() {
solve();
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
86 ms |
196508 KB |
Output isn't correct |
2 |
Incorrect |
119 ms |
196408 KB |
Output isn't correct |
3 |
Incorrect |
105 ms |
196372 KB |
Output isn't correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
231 ms |
397892 KB |
Execution killed with signal 11 |
2 |
Runtime error |
257 ms |
398072 KB |
Execution killed with signal 11 |
3 |
Runtime error |
233 ms |
397868 KB |
Execution killed with signal 11 |
4 |
Runtime error |
263 ms |
397964 KB |
Execution killed with signal 11 |
5 |
Runtime error |
237 ms |
397892 KB |
Execution killed with signal 11 |
6 |
Runtime error |
246 ms |
397868 KB |
Execution killed with signal 11 |
7 |
Runtime error |
238 ms |
397868 KB |
Execution killed with signal 11 |
8 |
Runtime error |
233 ms |
397948 KB |
Execution killed with signal 11 |
9 |
Runtime error |
234 ms |
397920 KB |
Execution killed with signal 11 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
256 ms |
397936 KB |
Execution killed with signal 11 |
2 |
Runtime error |
265 ms |
397948 KB |
Execution killed with signal 11 |
3 |
Runtime error |
248 ms |
397908 KB |
Execution killed with signal 11 |
4 |
Runtime error |
250 ms |
397928 KB |
Execution killed with signal 11 |
5 |
Runtime error |
233 ms |
397984 KB |
Execution killed with signal 11 |
6 |
Runtime error |
236 ms |
397872 KB |
Execution killed with signal 11 |
7 |
Runtime error |
256 ms |
397908 KB |
Execution killed with signal 11 |
8 |
Runtime error |
241 ms |
397964 KB |
Execution killed with signal 11 |