답안 #643164

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
643164 2022-09-21T10:59:14 Z TimDee Traffickers (RMI18_traffickers) C++17
0 / 100
129 ms 199608 KB
#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 46 ms 98376 KB Output isn't correct
2 Incorrect 79 ms 98568 KB Output isn't correct
3 Incorrect 65 ms 98524 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 121 ms 199432 KB Execution killed with signal 11
2 Runtime error 121 ms 199412 KB Execution killed with signal 11
3 Runtime error 126 ms 199432 KB Execution killed with signal 11
4 Runtime error 118 ms 199460 KB Execution killed with signal 11
5 Runtime error 124 ms 199464 KB Execution killed with signal 11
6 Runtime error 129 ms 199456 KB Execution killed with signal 11
7 Runtime error 117 ms 199496 KB Execution killed with signal 11
8 Runtime error 122 ms 199496 KB Execution killed with signal 11
9 Runtime error 121 ms 199484 KB Execution killed with signal 11
# 결과 실행 시간 메모리 Grader output
1 Runtime error 121 ms 199500 KB Execution killed with signal 11
2 Runtime error 122 ms 199456 KB Execution killed with signal 11
3 Runtime error 125 ms 199488 KB Execution killed with signal 11
4 Runtime error 123 ms 199388 KB Execution killed with signal 11
5 Runtime error 121 ms 199500 KB Execution killed with signal 11
6 Runtime error 121 ms 199608 KB Execution killed with signal 11
7 Runtime error 124 ms 199488 KB Execution killed with signal 11
8 Runtime error 116 ms 199392 KB Execution killed with signal 11