#include #include #include #include using namespace std; const int mmax = 1010; struct node { int st,en,next; bool fg; }E[2*mmax]; int p[mmax],num; void init() { memset(p,-1,sizeof p); num=0; } void add(int st,int en) { E[num].st=st; E[num].en=en; E[num].fg=0; E[num].next=p[st]; p[st]=num++; } int du[mmax]; int cnt[mmax]; bool vis[mmax]; bool dfs(int u,int fa) { vis[u]=1; bool fg=0; for(int i=p[u];i+1;i=E[i].next) { int v=E[i].en; if(!vis[v]) { if(dfs(v,i)) { fg=1; E[i].fg=E[i^1].fg=1; } } else if((i^1)!=fa) { E[i].fg=E[i^1].fg=1; fg=1; } } return fg; } int main() { int n; while(cin>>n) { init(); memset(du,0,sizeof du); int cnt1=0,cnt2=0; for(int i=0;i