답안 #767823

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
767823 2023-06-27T07:58:28 Z OrazB 열대 식물원 (Tropical Garden) (IOI11_garden) C++14
49 / 100
5000 ms 13260 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <functional>
#include "garden.h"
#include "gardenlib.h"
using namespace __gnu_pbds;
using namespace std;
typedef tree<int, null_type, less<int>, rb_tree_tag,
             tree_order_statistics_node_update>
    ordered_set;
//Dijkstra->set
//set.find_by_order(x) x-position value
//set.order_of_key(x) number of strictly less elements don't need *set.??
#define N 500005
#define wr cout << "Continue debugging\n";
#define all(x) (x).begin(), (x).end()
#define ll long long int
#define pii pair <int, int>
#define pb push_back
#define ff first
#define ss second

vector<pii> E[N];

void dfs(int nd, int pr, int &c, int p, int k, int&ans){
	if (c > k) return;
	if (nd == p and c == k){ans++; c = 1e9+7; return;}
	c++;
	if (E[nd][0].ff != pr or E[nd].size() == 1) dfs(E[nd][0].ss, E[nd][0].ff, c, p, k, ans);
	else dfs(E[nd][1].ss, E[nd][1].ff, c, p, k, ans);
}

void count_routes(int n, int m, int p, int R[][2], int q, int G[]){
	p++;
	for (int i = 0; i < m; i++){
		E[R[i][0]+1].pb({i, R[i][1]+1});
		E[R[i][1]+1].pb({i, R[i][0]+1});

	}
	for (int i = 1; i <= n; i++) sort(all(E[i]));
	int ans = 0;
	for (int i = 1; i <= n; i++){
		int c = 0;
		dfs(i, -1, c, p, G[0], ans);
	}
	answer(ans);
	// return ans;
}

// int main ()
// {
// 	ios::sync_with_stdio(false);
// 	cin.tie(0);
// 	int n, m, p, q;
// 	cin >> n >> m >> p >> q;
// 	vector<vector<int>> r(m, vector<int>(2));
// 	vector<int> k(q);
// 	for (int i = 0; i < m; i++) cin >> r[i][0] >> r[i][1];
// 	for (int i = 0; i < q; i++) cin >> k[i];
// 	cout << count_routes(n,m,p,r,q,k);
// }	
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 11988 KB Output is correct
2 Correct 6 ms 11988 KB Output is correct
3 Correct 7 ms 11988 KB Output is correct
4 Correct 6 ms 11988 KB Output is correct
5 Correct 6 ms 12052 KB Output is correct
6 Correct 7 ms 12116 KB Output is correct
7 Correct 8 ms 12048 KB Output is correct
8 Correct 9 ms 11988 KB Output is correct
9 Correct 8 ms 12352 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 11988 KB Output is correct
2 Correct 6 ms 11988 KB Output is correct
3 Correct 7 ms 11988 KB Output is correct
4 Correct 6 ms 11988 KB Output is correct
5 Correct 6 ms 12052 KB Output is correct
6 Correct 7 ms 12116 KB Output is correct
7 Correct 8 ms 12048 KB Output is correct
8 Correct 9 ms 11988 KB Output is correct
9 Correct 8 ms 12352 KB Output is correct
10 Correct 10 ms 12008 KB Output is correct
11 Execution timed out 5046 ms 13260 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 11988 KB Output is correct
2 Correct 6 ms 11988 KB Output is correct
3 Correct 7 ms 11988 KB Output is correct
4 Correct 6 ms 11988 KB Output is correct
5 Correct 6 ms 12052 KB Output is correct
6 Correct 7 ms 12116 KB Output is correct
7 Correct 8 ms 12048 KB Output is correct
8 Correct 9 ms 11988 KB Output is correct
9 Correct 8 ms 12352 KB Output is correct
10 Correct 10 ms 12008 KB Output is correct
11 Execution timed out 5046 ms 13260 KB Time limit exceeded
12 Halted 0 ms 0 KB -