Cod sursa(job #930215)

Utilizator Codrin09Sirboiu Codrin Codrin09 Data 27 martie 2013 14:58:27
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include <fstream>
using namespace std;
int i,b[100],j,x,y,OK,n,k,z,m;
void prel(int b[],int &n,int i)
{
    int j,OK=0,c[100],l,h;
    n=n+1;
    for(j=n;j>=i+1;j--) b[j]=b[j-1];
    b[i]=x;
    cout<<b[2];
    for(j=n;j<=1&&j!=i;j++)if(b[j]==x){b[j]=-13545435354354;OK=1;l=j;break;}
}
int main()
{
   ifstream fin("sortaret.in");
   ofstream fout("sortaret.out");
   n=2;
   fin>>z>>m>>x>>y;
   b[1]=x;b[2]=y;
   while(fin>>x>>y)
   {

       OK=0;
       for(i=1;i<=n;i++)
       {
           if(b[i]==x){OK=2;break;}
           if(b[i]==y)
           {
                prel(b,n,i);OK=1;break;
           }
       }
       if(OK==0){n+=2;b[n-1]=x;b[n]=y;}
       if(OK==2)
       {
           for(i=1;i<=n;i++)if(b[i]==y){OK=1;break;}
           if(OK==2){n++;b[n]=y;}
       }

   }
   for(i=1;i<=n&&b[i]!=-13545435354354;i++)fout<<b[i]<<" ";
   fin.close();
   fout.close();
}