Pagini recente » Cod sursa (job #122235) | Cod sursa (job #448480) | Cod sursa (job #1655632) | Cod sursa (job #3196192) | Cod sursa (job #2577891)
#include<bits/stdc++.h>
#define DIM 200010
#define mod 666013
using namespace std;
ifstream fin("clepsidra.in");
ofstream fout("clepsidra.out");
int niv[DIM],low[DIM],f[DIM],z[DIM],d[DIM];
vector<int> v[DIM],s;
int i,a,b,n,m,nr,p;
void dfs(int nod,int l,int tata)
{
niv[nod]=low[nod]=l;
s.push_back(nod);
for(auto it:v[nod])
{
if(tata==it) continue;
if(niv[it]){low[nod]=min(low[nod],niv[it]);continue;}
dfs(it,l+1,nod);
low[nod]=min(low[nod],low[it]);
if(l<=low[it])
{
while(s.back()!=it){f[s.back()]=nr;s.pop_back();}
f[s.back()]++;s.pop_back();f[nod]++;
}
}
}
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
d[i-1]=1;
for(i=1;i<=n;i++) d[i]=2*d[i-1]%mod;
dfs(1,0,0);
for(i=1;i<=n;i++)
{
nr=0;
for(auto it:v[i]) if(z[f[it]]==0) z[f[it]]=1,nr++;nr--;
fout<<nr<<"\n";
if(d[nr]-2<0) fout<<d[nr]-2+mod<<"\n";
else fout<<d[nr]-2<<"\n";
for(auto it:v[i]) z[f[it]]=0;
}
return 0;
}