#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
int cost[10][10],i,j,k,n,stk[10],top,v,kunjungan[10],dikunjungi[10];
int main()
{
int m;
//clrscr();
cout <<"Jumlah simpul: ";
cin >> n;
cout <<"Jumlah tepi: ";
cin >> m;
cout <<"\nTepi : \n";
for(k=1; k<=m; k++)
{
cin >>i>>j;
cost[i][j]=1;
}
cout <<"Start: ";
cin >>v;
cout <<"URUTAN DFS YANG TELAH DIKUNJUNGI:";
cout << v <<" ";
dikunjungi[v]=1;
k=1;
while(k<n)
{
for(j=n; j>=1; j--)
if(cost[v][j]!=0 && dikunjungi[j]!=1 && kunjungan[j]!=1)
{
kunjungan[j]=1;
stk[top]=j;
top++;
}
v=stk[--top];
cout<<v << " ";
k++;
kunjungan[v]=0;
dikunjungi[v]=1;
}
getch();
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNvbmlvLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgY29zdFsxMF1bMTBdLGksaixrLG4sc3RrWzEwXSx0b3AsdixrdW5qdW5nYW5bMTBdLGRpa3VuanVuZ2lbMTBdOwppbnQgbWFpbigpCnsKICAgIGludCBtOwogICAgLy9jbHJzY3IoKTsKICAgIGNvdXQgPDwiSnVtbGFoIHNpbXB1bDogIjsKICAgIGNpbiA+PiBuOwogICAgY291dCA8PCJKdW1sYWggdGVwaTogIjsKICAgIGNpbiA+PiBtOwogICAgY291dCA8PCJcblRlcGkgOiBcbiI7CiAgICBmb3Ioaz0xOyBrPD1tOyBrKyspCiAgICB7CiAgICAgICAgY2luID4+aT4+ajsKICAgICAgICBjb3N0W2ldW2pdPTE7CiAgICB9CiAgICBjb3V0IDw8IlN0YXJ0OiAiOwogICAgY2luID4+djsKICAgIGNvdXQgPDwiVVJVVEFOIERGUyBZQU5HIFRFTEFIIERJS1VOSlVOR0k6IjsKICAgIGNvdXQgPDwgdiA8PCIgIjsKICAgIGRpa3VuanVuZ2lbdl09MTsKICAgIGs9MTsKICAgIHdoaWxlKGs8bikKICAgIHsKICAgICAgICBmb3Ioaj1uOyBqPj0xOyBqLS0pCiAgICAgICAgICAgIGlmKGNvc3Rbdl1bal0hPTAgJiYgZGlrdW5qdW5naVtqXSE9MSAmJiBrdW5qdW5nYW5bal0hPTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGt1bmp1bmdhbltqXT0xOwogICAgICAgICAgICAgICAgc3RrW3RvcF09ajsKICAgICAgICAgICAgICAgIHRvcCsrOwogICAgICAgICAgICB9CiAgICAgICAgdj1zdGtbLS10b3BdOwogICAgICAgIGNvdXQ8PHYgPDwgIiAiOwogICAgICAgIGsrKzsKICAgICAgICBrdW5qdW5nYW5bdl09MDsKICAgICAgICBkaWt1bmp1bmdpW3ZdPTE7CiAgICB9CiAgICBnZXRjaCgpOwogICAgcmV0dXJuIDA7Cn0=
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
int cost[10][10],i,j,k,n,stk[10],top,v,kunjungan[10],dikunjungi[10];
int main()
{
int m;
//clrscr();
cout <<"Jumlah simpul: ";
cin >> n;
cout <<"Jumlah tepi: ";
cin >> m;
cout <<"\nTepi : \n";
for(k=1; k<=m; k++)
{
cin >>i>>j;
cost[i][j]=1;
}
cout <<"Start: ";
cin >>v;
cout <<"URUTAN DFS YANG TELAH DIKUNJUNGI:";
cout << v <<" ";
dikunjungi[v]=1;
k=1;
while(k<n)
{
for(j=n; j>=1; j--)
if(cost[v][j]!=0 && dikunjungi[j]!=1 && kunjungan[j]!=1)
{
kunjungan[j]=1;
stk[top]=j;
top++;
}
v=stk[--top];
cout<<v << " ";
k++;
kunjungan[v]=0;
dikunjungi[v]=1;
}
getch();
return 0;
}