# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
498524 | aurims | Monthly railway pass (LMIO18_menesinis_bilietas) | C++14 | 906 ms | 43228 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
struct miestas{
bool aplankytas;
vector<int> autikai; // kokius miestus gali pasiekt autiku
vector<int> traukiniai; // kokius miestus gali pasiekt traukiniu
int grupe; // kokiam jungumo komponentui priklauso
miestas() : aplankytas(false), grupe(-1) {}
};
vector<miestas> miestai;
// visus miestus, kurie pasiekiami is i-tojo miesto traukiniu priskiriam gr grupe
void priskirk_grupe(int i, int gr) // realiai dfs + spalvinimo algoritmas is https://inf-knyga.nmakademija.lt/lt/latest/07_grafų_pagrindai.html#paieska-gilyn
{
miestai[i].grupe = gr;
for(int kaimynas : miestai[i].traukiniai)
{
if(miestai[kaimynas].grupe != -1) // jeigu kaimynas priklauso kitam jungumo komponentui
continue;
priskirk_grupe(kaimynas, gr); // einam lankyt kaimyno kaimynu
}
}
int rask_gretimas_komp(int i, vector<bool>& ak)
{
miestai[i].aplankytas = true;
int dydis = 1;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |