Guest User

Untitled

a guest
Nov 26th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.77 KB | None | 0 0
  1. string input1 = "6 7"; // nbr cable 1 et 500 et nbr requete 1 et 3N
  2.         string[] input2 = {"1 3", "1 4", "1 5", "1 6", "1 7", "2 9", "3 11"};
  3.         //string[] input2 = {"1 3", "1 4", "2 8", "1 5", "1 6", "1 7", "1 9"};
  4.  
  5.         string result = "";
  6.  
  7.         int nbCable = System.Convert.ToInt32(input1.Split(' ')[0]);
  8.         int nbRequest = System.Convert.ToInt32(input1.Split(' ')[1]);
  9.  
  10.         int nbAvailableCable = nbCable;
  11.         int i = 1;
  12.  
  13.         Dictionary<int, int> endCable = new Dictionary<int, int>();
  14.        
  15.         List<int> input2Casted = new List<int>();
  16.        
  17.         foreach(string task1 in input2)
  18.         {
  19.             input2Casted.Add(System.Convert.ToInt32(task1.Split(' ')[0]));
  20.             input2Casted.Add(System.Convert.ToInt32(task1.Split(' ')[1]));
  21.         }
  22.        
  23.         int max = input2Casted.Max();
  24.  
  25.         while(i < max)
  26.         {
  27.             int index = 1;
  28.             bool isBreak = false;
  29.            
  30.             List<int> keyToRemove = new List<int>();
  31.            
  32.             foreach(var item in endCable)
  33.             {
  34.                 //Console.WriteLine("AAAAAA " + item.Value);
  35.                 if(item.Value == i)
  36.                 {
  37.                     keyToRemove.Add(item.Key);
  38.                 }
  39.             }
  40.            
  41.             foreach(var item in keyToRemove)
  42.             {
  43.                 //Console.WriteLine("Free " + item);
  44.                 endCable.Remove(item);
  45.                 nbAvailableCable++;
  46.             }
  47.  
  48.             foreach(string task1 in input2)
  49.             {
  50.                 int nb = System.Convert.ToInt32(task1.Split(' ')[0]);
  51.                 if(nb == i)
  52.                 {
  53.                     if(nbAvailableCable > 0 && !endCable.ContainsKey(index))
  54.                     {
  55.                         //Console.WriteLine("index " + index);
  56.                         endCable.Add(index, System.Convert.ToInt32(task1.Split(' ')[1]));
  57.                         nbAvailableCable--;
  58.                         result += "" + index;
  59.                         isBreak = true;
  60.                         //break;
  61.                     }
  62.                     else
  63.                     {
  64.                         return result + "pas possible";
  65.                     }
  66.                 }
  67.                
  68.                 if (index == nbCable)
  69.                     index = 1;
  70.                 else
  71.                     index++;
  72.             }
  73.  
  74.             i++;
  75.         }
  76.        
  77.         return result;
Advertisement
Add Comment
Please, Sign In to add comment