Cod sursa(job #1093949)

Utilizator Bigb21Avram Bogdan Bigb21 Data 28 ianuarie 2014 19:32:18
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.57 kb
#include<iostream>
#include<fstream>
#include<vector>
#include<queue>
using namespace std;
ifstream in("grafxy.in");
ofstream out("grafxy.out");
vector <int> v[100001];
queue <int>  c;
int n,m,p1,p2,x[100001],y[100001],viz[100001],aux;
void citire ()
{  int a,b;
    in>>n>>m;
    for(int i=1; i<=m; i++)
       {in>>a>>b;
         v[a].push_back(b);
         v[b].push_back(a);
       }
     in>>p1;

        for(int i=1; i<=p1;i++)
        in>>x[i];

    in>>p2;
        for(int i=1;i<=p2;i++)
        in>>y[i];

}
bool test(int a)
{
    for(int i=1; i<=p2; i++)
      if(a==y[i])
       return 1 ;

       return 0;
}



int bfs (int varf)
 {
     c.push(varf);

    while(!c.empty() )
     {
         for(int i=0; i<v[c.front()].size();i++)
           { if(viz[v[c.front()][i]]==0 && v[c.front()][i]!=aux )
            {
            viz[v[c.front()][i]]=viz[c.front()]+1;
            c.push(v[c.front()][i]);
            }
            if(test(v[c.front()][i])==1)
              {
                  out<<1<<" ";
                 return 0;
              }
           }



        c.pop();
        bfs(c.front());
     }

 }
 int main  ()
 {
   citire();
    // for(int i=1; i<=p1; i++)
      //      {aux=x[i];
              //  bfs(x[1]);
        //      for(int j=1; j<=n; j++)
          //      viz[j]=0;
           // }


for(int i=1; i<=n; i++ )
   {for(int j=0; j<v[i].size();j++)
      cout<<v[i][j]<<" ";
      cout<<endl;
   }

               in.close();
             out.close();
             return 0;

 }