Nu aveti permisiuni pentru a descarca fisierul grader_test7.in
Cod sursa(job #2005623)
| Utilizator | Data | 27 iulie 2017 17:23:41 | |
|---|---|---|---|
| Problema | Mesaj4 | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.99 kb |
#include<cstdio>
#include<vector>
using namespace std;
const int nmax=1e5+5;
vector<int> g[nmax];
bool viz[nmax];
typedef pair<int,int> ii;
vector<ii> vi;
int n,m;
inline void dfs(int node)
{
viz[node]=1;
int i,currnode;
for(i=0;i<g[node].size();++i)
{
currnode=g[node][i];
if(!viz[currnode])
{
vi.push_back(ii(node,currnode));
dfs(currnode);
}
}
}
int main()
{
freopen("mesaj4.in","r",stdin);
freopen("mesaj4.out","w",stdout);
int i;
scanf("%d%d",&n,&m);
for(i=1;i<=m;++i)
{
int x,y;
scanf("%d%d",&x,&y);
g[x].push_back(y);
g[y].push_back(x);
}
dfs(1);
if(vi.size()< n-1)
{
printf("-1");
return 0;
}
printf("%d\n",((n-1)<<1));
for(i=0;i<n-1;++i)
printf("%d %d\n",vi[i].first,vi[i].second);
for(i=0;i<n-1;++i)
printf("%d %d\n",vi[i].second,vi[i].first);
}
