Submission #908725

# Submission time Handle Problem Language Result Execution time Memory
908725 2024-01-16T17:39:56 Z nightfal Simurgh (IOI17_simurgh) C++14
13 / 100
3000 ms 600 KB
#include <cstdio>
#include <iostream>
#include <cassert>
#include <vector>
#include <cstdlib>
#include <string>
 
using namespace std;
 
int count_common_roads(const std::vector<int>& r);

void dfs(int parent, int now, std::vector<int>& visit, std::vector<vector<int>>& edgeL) {
    visit[now]=1;
    for(int elem: edgeL[now])
        if (elem!=parent && !visit[elem])
			dfs(now,elem,visit,edgeL);
	return;
}
 
bool isTree(std::vector<int>& r, std::vector<int>& u, std::vector<int>& v) {
    int n = r.size()+1;
    std::vector<vector<int>> edgeL(n);
    for(int i=0; i<n-1; i++) {
        int s = u[r[i]], e = v[r[i]];
        edgeL[s].push_back(e);
        edgeL[e].push_back(s);
    }
    vector<int> visit(n,0);
    dfs(-1,u[r[0]],visit,edgeL);
	for(int i=0; i<n; i++)
		if(!visit[i]) return false;
	return true;
}
 
bool selectEdges(int cnt, int start, std::vector<int>& r, std::vector<int>& u, std::vector<int>& v){
	int n = r.size()+1, m = u.size();
    if (cnt == n-1){
        if(isTree(r,u,v) && count_common_roads(r)== n-1) return true;
        else return false;
    }
    for(int i=start; i<m; i++){
        r[cnt] = i;
        if (selectEdges(cnt+1,i+1,r,u,v)) return true;
    }
    return false;
}
 
std::vector<int> subtask1(int n, std::vector<int>& u, std::vector<int>& v) {
    std::vector<int> r(n-1), zero(n-1,-1);
    if (selectEdges(0,0,r,u,v)) return r;
    else return zero;
}
 
std::vector<int> find_roads(int n, std::vector<int> u, std::vector<int> v) {
    // if (isSubtask1(n)) 
    return subtask1(n,u,v);
}

Compilation message

simurgh.cpp: In function 'void dfs(int, int, std::vector<int>&, std::vector<std::vector<int> >&)':
simurgh.cpp:14:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   14 |     for(int elem: edgeL[now])
      |     ^~~
simurgh.cpp:17:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   17 |  return;
      |  ^~~~~~
# Verdict Execution time Memory Grader output
1 Correct 21 ms 344 KB correct
2 Correct 5 ms 348 KB correct
3 Correct 14 ms 428 KB correct
4 Correct 1 ms 344 KB correct
5 Correct 1 ms 600 KB correct
6 Correct 2 ms 344 KB correct
7 Correct 1 ms 348 KB correct
8 Correct 1 ms 344 KB correct
9 Correct 1 ms 348 KB correct
10 Correct 1 ms 348 KB correct
11 Correct 1 ms 344 KB correct
12 Correct 1 ms 344 KB correct
13 Correct 15 ms 348 KB correct
# Verdict Execution time Memory Grader output
1 Correct 21 ms 344 KB correct
2 Correct 5 ms 348 KB correct
3 Correct 14 ms 428 KB correct
4 Correct 1 ms 344 KB correct
5 Correct 1 ms 600 KB correct
6 Correct 2 ms 344 KB correct
7 Correct 1 ms 348 KB correct
8 Correct 1 ms 344 KB correct
9 Correct 1 ms 348 KB correct
10 Correct 1 ms 348 KB correct
11 Correct 1 ms 344 KB correct
12 Correct 1 ms 344 KB correct
13 Correct 15 ms 348 KB correct
14 Execution timed out 3065 ms 348 KB Time limit exceeded
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 21 ms 344 KB correct
2 Correct 5 ms 348 KB correct
3 Correct 14 ms 428 KB correct
4 Correct 1 ms 344 KB correct
5 Correct 1 ms 600 KB correct
6 Correct 2 ms 344 KB correct
7 Correct 1 ms 348 KB correct
8 Correct 1 ms 344 KB correct
9 Correct 1 ms 348 KB correct
10 Correct 1 ms 348 KB correct
11 Correct 1 ms 344 KB correct
12 Correct 1 ms 344 KB correct
13 Correct 15 ms 348 KB correct
14 Execution timed out 3065 ms 348 KB Time limit exceeded
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB correct
2 Incorrect 133 ms 408 KB WA in grader: NO
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 21 ms 344 KB correct
2 Correct 5 ms 348 KB correct
3 Correct 14 ms 428 KB correct
4 Correct 1 ms 344 KB correct
5 Correct 1 ms 600 KB correct
6 Correct 2 ms 344 KB correct
7 Correct 1 ms 348 KB correct
8 Correct 1 ms 344 KB correct
9 Correct 1 ms 348 KB correct
10 Correct 1 ms 348 KB correct
11 Correct 1 ms 344 KB correct
12 Correct 1 ms 344 KB correct
13 Correct 15 ms 348 KB correct
14 Execution timed out 3065 ms 348 KB Time limit exceeded
15 Halted 0 ms 0 KB -