Pagini recente » Cod sursa (job #1496978) | Cod sursa (job #2331200) | Cod sursa (job #1358328) | Cod sursa (job #2049477)
#include <fstream>
#include <list>
#include <queue>
#include <list>
using namespace std;
ifstream f("data.in");
ofstream g("data.out");
struct muchie
{
int x,y;
};
int main()
{
int n,m,numar_noduri=0;
f>>n>>m;
int vector_tati[n+1];
int vectori_adiacenta[n+1];
int vector_vizitat[n+1];
queue <int> q;
queue <int> solutie;
for(int i=0;i<=n+1;++i)
{
vector_tati[i]=0;
vectori_adiacenta[i]=0;
vector_vizitat[i]=0;
}
list <int> *lista_de_adiacenta= new list <int> [n+1];
for(int i=1;i<=m;++i)
{
int x,y;
f>>x>>y;
++vectori_adiacenta[x];
++vectori_adiacenta[y];
lista_de_adiacenta[x].push_back(y);
lista_de_adiacenta[y].push_back(x);
}
/* for(int i=1;i<=n;++i)
if(vectori_copii[i]==0)
{
q.push(i);
vector_vizitat[i]=2;
}
while(!q.empty())
{
int x=q.front();
if(vector_vizitat[x]==2)
{
solutie.push(x);
numar_noduri++;
}
if(vector_vizitat[vector_tati[x]]==0&&vector_tati[x]!=0)
{
q.push(vector_tati[x]);
if(vector_vizitat[x]==2)
vector_vizitat[vector_tati[x]]=1;
else
vector_vizitat[vector_tati[x]]=2;
}
else
if(vector_vizitat[vector_tati[x]]==2&&vector_vizitat[x]==2)
vector_vizitat[vector_tati[x]]=1;
q.pop();
}
g<<numar_noduri<<"\n";
while(!solutie.empty())
{
g<<solutie.front()<<" ";
solutie.pop();
}
*/
}