Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. #include <iostream>
  2. #include<fstream>
  3. using namespace std;
  4.  
  5. fstream f("a.in") ;
  6. ofstream g("a.out") ;
  7. int n,mc;
  8. struct muchie{int x,y,c;} ;
  9. muchie m[101] ;
  10.  
  11. void sortare(muchie m[],int mc)
  12. {
  13. muchie aux;
  14. for(int i=1;i<=mc-1;i++)
  15. {
  16. for(int j=i+1;j<=mc;j++)
  17. {
  18. if(m[i].c>m[j].c)
  19. {
  20. aux=m[i] ;
  21. m[i]=m[j] ;
  22. m[j]=aux ;
  23. }
  24. }
  25. }
  26. }
  27.  
  28.  
  29.  
  30.  
  31.  
  32. int prim(int n, muchie m[],int mc)
  33. {
  34. int ct=0,k=0,viz[101],i,t[101];
  35. for(i=1;i<=n;i++)
  36. viz[i]=0;
  37. viz[m[1].x]=1;
  38.  
  39. while(k<n-1)
  40. {
  41. for(int i=1;i<=mc;i++)
  42. {
  43. if(viz[m[i].x]==1&&viz[m[i].y]==0||viz[m[i].x]==0&&viz[m[i].y]==1)
  44. {
  45. if(viz[m[i].x]==0)
  46. {
  47. viz[m[i].x]=1 ;
  48. t[m[i].x]=m[i].y ;
  49.  
  50. }
  51. else
  52. {
  53. viz[m[i].y]=1 ;
  54. t[m[i].y]=m[i].x ;
  55.  
  56. }
  57. ct=ct+m[i].c ;
  58. i=1;
  59. k++ ;
  60. }
  61. }
  62. }
  63. }
  64. int main()
  65. { int t[101];
  66. f>>n>>mc ;
  67. for(int i=1;i<=mc;i++)
  68. {
  69. f>>m[i].x>>m[i].y>>m[i].c ;
  70. }
  71. sortare(m,mc) ;
  72. g<<prim(n,m,mc);
  73. g<<endl ;
  74. for(int i=1;i<=n;i++)
  75. {
  76. g<<t[i]<<" ";
  77. }
  78.  
  79. return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement