Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.20 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3.  
  4. namespace ps3_3
  5. {
  6.     class Program
  7.     {
  8.         public class Krawedz
  9.         {
  10.             public int v;
  11.             public int u;
  12.             public int w;
  13.             public Krawedz() { }
  14.             public Krawedz(Krawedz kw) { v = kw.v; u = kw.u; w = kw.w; }
  15.         }
  16.         static Krawedz[] E;
  17.         static Krawedz[] pom;
  18.         static void scalanie(int pocz, int kon)
  19.         {
  20.             for (int i = pocz; i <= kon; i++)
  21.             {
  22.                 pom[i] = new Krawedz(E[i]);
  23.             }
  24.             int p = pocz;
  25.             int q = (pocz + kon) / 2 + 1;
  26.             int r = pocz;
  27.             while (p <= (pocz + kon) / 2 && q <= kon)
  28.             {
  29.                 if (pom[p].w > pom[q].w)
  30.                 {
  31.                     E[r] = new Krawedz(pom[q]);
  32.                     r++;
  33.                     q++;
  34.                 }
  35.                 else
  36.                 {
  37.                     E[r] = new Krawedz(pom[p]);
  38.                     r++;
  39.                     p++;
  40.                 }
  41.             }
  42.             while (p <= (pocz + kon) / 2)
  43.             {
  44.                 E[r] = new Krawedz(pom[p]);
  45.                 r++;
  46.                 p++;
  47.             }
  48.         }
  49.         static void sortowanie(int pocz, int kon)
  50.         {
  51.             if (pocz < kon)
  52.             {
  53.                 sortowanie(pocz, (pocz + kon) / 2);
  54.                 sortowanie((pocz + kon) / 2 + 1, kon);
  55.                 scalanie(pocz, kon);
  56.             }
  57.         }
  58.         static void Kruskal(int n)
  59.         {
  60.             int[] tab = new int[n];
  61.             for (int i = 0; i < n; i++)
  62.                 tab[i] = i + 1;
  63.             int p, q;
  64.             int j = 0;
  65.             while(j < n-1)
  66.         }
  67.         static void Main(string[] args)
  68.         {
  69.             StreamReader wejscie = new StreamReader("In0303.txt");
  70.             string linia = wejscie.ReadLine();
  71.             int n = int.Parse(linia.Split(null)[0]);
  72.             int m = int.Parse(linia.Split(null)[1]);
  73.             E = new Krawedz[m];
  74.             pom = new Krawedz[m];
  75.             int ind = 0;
  76.             for (int i = 0; i < n && ind < m; i++)
  77.             {
  78.                 string[] linia_s = wejscie.ReadLine().Split(null);
  79.                 for (int j = 0; j < linia_s.Length; j += 2)
  80.                 {
  81.                     int a = i + 1;
  82.                     int b = int.Parse(linia_s[j]);
  83.                     int w = int.Parse(linia_s[j + 1]);
  84.                     bool jest = false;
  85.                     for (int k = 0; k < ind; k++)
  86.                     {
  87.                         if (E[k].v == b && E[k].u == a)
  88.                             jest = true;
  89.                     }
  90.                     if (!jest)
  91.                         E[ind++] = new Krawedz() { v = a, u = b, w = w };
  92.                 }
  93.             }
  94.             wejscie.Close();
  95.             foreach (Krawedz kr in E)
  96.                 Console.WriteLine("{0} {1} ({2})", kr.v, kr.u, kr.w);
  97.             sortowanie(0, 16);
  98.             Console.WriteLine("//////////////");
  99.             foreach (Krawedz kr in E)
  100.                 Console.WriteLine("{0} {1} ({2})", kr.v, kr.u, kr.w);
  101.             Console.ReadKey();
  102.         }
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement