ulvis.paste.net

Paste Search Dynamic
Recent pastes
public static List
  1. using system;
  2. using system.Collections;
  3. using system.Collections.Generic;
  4. using system.IO;
  5. using system.Linq;
  6. using system.Text.RegularExpressions;
  7.  
  8. /* Don't change anything here.
  9.  * Do not add any other imports. You need to write
  10.  * this program using only these libraries
  11.  */
  12.  
  13. namespace ProgramNamespace
  14. {
  15.     /* You may add helper classes here if necessary */
  16.  
  17.     public class Program
  18.     {
  19.         //public static List<String> processData(IList<string> lines)
  20.         public static List<String> processData(IEnumerable<string> lines)
  21.         {
  22.             /*
  23.              * Do not make any changes outside this method.
  24.              *
  25.              * Modify this method to process `array` as indicated
  26.              * in the question. At the end, return the size of the
  27.              * array.
  28.              *
  29.              * Do not print anything in this method
  30.              *
  31.              * Submit this entire program (not just this function)
  32.              * as your answer
  33.              */
  34.             IList<string> newlines = new List<string>(lines);
  35.             IList<string> IElines = new List<string>(lines);
  36.             List<String> retVal = new List<String>();
  37.             List<String> retValLibrary = new List<String>();
  38.             //var retValLibrary = new Dictionary<string, string>();
  39.             //var myList = new List<KeyValuePair<string, int>>();
  40.             List<int> versions =new List<int>();
  41.             //Int32[] versions = new Int32[lines.Count];
  42.             //Int32[] librarycnt = new Int32[lines.Count];
  43.  
  44.             for (int i = 0; i < IElines.Count(); i++)
  45.             {
  46.                 //versions[i] = Convert.ToInt32(Regex.Match(lines[i], @"\d+").Value);
  47.                 versions.Add(Convert.ToInt32(Regex.Match(IElines[i], @"\d+").Value));
  48.             }
  49.  
  50.            
  51.  
  52.         Top:
  53.             int min = versions.Min();
  54.             int ii = 0;
  55.             foreach (var line in newlines)
  56.             {
  57.                 string[] parts = line.Split(',');
  58.                 if (line.Contains(min.ToString()))
  59.                 {
  60.                     if (!retVal.Contains(parts[0]) && CountValue(newlines, parts[1])>1) //&& !retVal.Contains(parts[0]) && cnt==0)
  61.                     {
  62.                         retValLibrary.Add(parts[1]);
  63.                         retVal.Add(parts[0]);
  64.                         //cnt++;
  65.  
  66.                         newlines.Remove(line.ToString());
  67.                         //versions = versions.Where(val => val != min).ToArray();
  68.                         versions.RemoveAt(ii);
  69.  
  70.                         goto Top;
  71.                     }
  72.                     else if(CountValue(IElines, parts[1])==1)
  73.                     {
  74.                         newlines.Remove(line.ToString());
  75.                         //versions = versions.Where(val => val != min).ToArray();
  76.                         versions.RemoveAt(ii);
  77.  
  78.                         goto Top;
  79.                     }
  80.                 }
  81.                 ii++;
  82.  
  83.             }
  84.  
  85.            
  86.             return retVal;
  87.         }
  88.  
  89.         static int CountValue(IList<string> list, string valueToFind)
  90.         {
  91.             int cnt = 0;
  92.             cnt = ((from temp in list where temp.Contains(valueToFind) select temp).Count());
  93.             return cnt;
  94.         }
  95.  
  96.         static void Main(string[] args)
  97.         {
  98.             try
  99.             {
  100.                 //List<String> retVal = processData(File.ReadAllLines("input.txt"));
  101.                 //File.WriteAllLines("output.txt", retVal);
  102.                 string line;
  103.                 var inputLines = new List<String>();
  104.                 while ((line = Console.ReadLine()) != null)
  105.                 {
  106.                     line = line.Trim();
  107.                     if (line != "")
  108.                         inputLines.Add(line);
  109.                 }
  110.                 var retVal = processData(inputLines);
  111.                 foreach (var res in retVal)
  112.                     Console.WriteLine(res);
  113.             }
  114.             catch (IOException ex)
  115.             {
  116.                 Console.WriteLine(ex.Message);
  117.             }
  118.  
  119.             //Console.WriteLine("{0}", f2());
  120.             Console.ReadLine();
  121.         }
  122.  
  123.        
  124.  
  125.     }
  126.    
  127.  
  128. }
  129.  
Parsed in 0.029 seconds