# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
143120 | Ruxandra985 | Pipes (CEOI15_pipes) | C++14 | 3030 ms | 65540 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.
/// trimit de curiozitate
#include <cstdio>
#include <vector>
#include <set>
#include <stack>
#include <algorithm>
#define DIMN 100005
#define DIMM 100005
using namespace std;
int low[DIMN],bicnx,lvl[DIMN];
stack <int > st;
vector <int> v[DIMN];
set <int> sol[DIMN];
int x;
void dfs (int nod,int tt){
int i,vecin;
low[nod]=lvl[nod];
st.push(nod);
for (i=0;i<v[nod].size();i++){
vecin=v[nod][i];
if (vecin==tt)
continue;
if (lvl[vecin]==0){
lvl[vecin]=1+lvl[nod];
dfs(vecin,nod);
low[nod]=min(low[nod],low[vecin]);
if (low[vecin]>=lvl[nod]){ // nod e un nod critic
bicnx++;
do{
x=st.top();
st.pop();
sol[bicnx].insert(x);
}
while (x!=vecin);
sol[bicnx].insert(nod);
// am scos din stiva muchiile care sunt in subarborele nod->vecin
}
}
else low[nod]=min(low[nod],lvl[vecin]);
}
}
int main()
{
// FILE *fin=fopen ("a.in","r");
// FILE *fout=fopen ("a.out","w");
int n,m,i,x,y;
scanf ("%d%d",&n,&m);
for (i=1;i<=m;i++){
scanf ("%d%d",&x,&y);
v[x].push_back(y);
v[y].push_back(x);
}
for (i=1;i<=n;i++){
if (!lvl[i]){
lvl[i]=1;
dfs (i,0);
}
}
for (i=1;i<=bicnx;i++){
if (sol[i].size()==2){
for (set <int>::iterator it = sol[i].begin(); it!=sol[i].end();it++)
printf ("%d ",*it);
printf ("\n");
}
}
return 0;
}
Compilation message (stderr)
# | 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... |
# | 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... |