Pagini recente » Cod sursa (job #494795) | Cod sursa (job #529145) | Cod sursa (job #2435167) | Cod sursa (job #1369240) | Cod sursa (job #390912)
Cod sursa(job #390912)
#include <fstream>
#include <vector>
#define DIM 200000
#define pb push_back
using namespace std;
ifstream fin ("stramosi.in"); // citire + scriere cu streamuri pt eficienta (cica)
ofstream fout ("stramosi.out");
vector <int> G [DIM], sol [DIM];
int N, M, i, p, q, viz [DIM], a, st [DIM];
void dfs (int node, int lev) {
int j;
for (j = 0; j < G [node].size (); j++)
if (!viz [G [node][j]]) {
viz [G [node][j]] = 1;
st [++lev] = G [node][j];
dfs (G [node][j], lev);
}
-- lev;
for (int k = lev; k >= 1; k--)
sol [node].pb (st [k]);
}
int main () {
int j, t;
fin >> N >> M;
for (i = 1; i <= N; i++) {
fin >> a;
G [a].pb (i);
fout <<a <<" "<<i<<" ";
for (j = 0; j < G [a].size (); j++) fout <<G [a][j]<<" ";
fout <<"\n";
}
/*for (i = 1; i <= N; i++)
if (!viz [i])
dfs (i, 0);
/*
for (i = 1; i <= M; i++) {
fin >> q >> p;
for (t = 0, j = 0; j < sol [q].size (); j++)
if (j == p - 1) {
fout << sol [q][j] << "\n";
t = 1;
}
if (t == 0) fout << 0 <<"\n";
}
for (i = 0; i <= N; i++) {
for (j = 0; j < G[i].size (); j++)
fout <<i<<" "<< G [i][j] << " ";
fout << "\n";
}*/
return 0;
}