Submission #440738

# Submission time Handle Problem Language Result Execution time Memory
440738 2021-07-02T20:43:07 Z Maurimuri80 Keys (IOI21_keys) C++17
9 / 100
3000 ms 9632 KB
#include <vector>
#include <iostream>
#include <queue>
using namespace std;
//array r son las llaves en la habitacion

// u y v son el destino y partida de cada conector

// c on las llaves necesarias para recorrer el corredor

//vector p cantidad de habitaciones alcanzables
vector<int> p;
vector<int> Vis;
queue<int> bfsq;

vector<int> find_reachable(vector<int> r, vector<int> u, vector<int> v, vector<int> c) {
	vector<int> ans(r.size(), 1);
	p.assign(r.size(),-1);
	int visitados,minimo = r.size() +1,padre,hijo;

	for (int i = 0; i < r.size(); i++)
	{
		if (r[i] == 0)
		{	
			visitados = 0;
			Vis.assign(r.size(),-1);

			Vis[i] = 1;
			
			bfsq.push(i);
			while (bfsq.size() > 0)
			{
				padre = bfsq.front();
				bfsq.pop();
				for (int h = 0; h < u.size(); h++)
				{
					if (u[h] == padre)
					{
						if (Vis[v[h]] == -1)
						{
							Vis[v[h]] = 1;
							bfsq.push(v[h]);
						}
					}
					if (v[h] == padre)
					{
						if (Vis[u[h]] == -1)
						{
							Vis[u[h]] = 1;
							bfsq.push(u[h]);
						}
					}
				}
				
			}
			
			for (int j = 0; j < Vis.size(); j++)
			{
				if (Vis[j] != -1)
				{
					visitados++;
				}
			}
			p[i] = visitados;
			minimo = min(minimo,visitados);
		}else{
			minimo = 1;
			p[i] = 1;
		}
	}		
	for (int i = 0; i < r.size(); i++)
	{
		if (p[i] != minimo)
		{
			ans[i] = 0;
		}
	}
	
	return ans;
}

Compilation message

keys.cpp: In function 'std::vector<int> find_reachable(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
keys.cpp:21:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |  for (int i = 0; i < r.size(); i++)
      |                  ~~^~~~~~~~~~
keys.cpp:35:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |     for (int h = 0; h < u.size(); h++)
      |                     ~~^~~~~~~~~~
keys.cpp:57:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |    for (int j = 0; j < Vis.size(); j++)
      |                    ~~^~~~~~~~~~~~
keys.cpp:71:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |  for (int i = 0; i < r.size(); i++)
      |                  ~~^~~~~~~~~~
keys.cpp:19:43: warning: unused variable 'hijo' [-Wunused-variable]
   19 |  int visitados,minimo = r.size() +1,padre,hijo;
      |                                           ^~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 4 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 4 ms 204 KB Output is correct
9 Correct 6 ms 288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 4 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 4 ms 204 KB Output is correct
9 Correct 6 ms 288 KB Output is correct
10 Incorrect 0 ms 204 KB Output isn't correct
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 4 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 4 ms 204 KB Output is correct
9 Correct 6 ms 288 KB Output is correct
10 Incorrect 0 ms 204 KB Output isn't correct
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 4 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 4 ms 204 KB Output is correct
9 Correct 6 ms 288 KB Output is correct
10 Execution timed out 3075 ms 9632 KB Time limit exceeded
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 4 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 4 ms 204 KB Output is correct
9 Correct 6 ms 288 KB Output is correct
10 Incorrect 0 ms 204 KB Output isn't correct
11 Halted 0 ms 0 KB -