Advertisement
Yasen6275

Beer stocks

Feb 16th, 2016
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.89 KB | None | 0 0
  1. using System;
  2. using System.Text.RegularExpressions;
  3.  
  4. namespace beerstoc
  5. {
  6.     class MainClass
  7.     {
  8.         public static void Main (string[] args)
  9.         {
  10.             ulong ReservedBeers = ulong.Parse(Console.ReadLine ());
  11.             ulong Beers = 0, SixPacks = 0, Cases = 0;
  12.             var Input = Console.ReadLine ().Split(' ');
  13.             while (Input[0] != "Exam") {
  14.                 switch (Input[1]) {
  15.                 case "beers":
  16.                     Beers += ulong.Parse(Input [0]);
  17.                     Input = Console.ReadLine ().Split(' ');
  18.                     break;
  19.                 case "sixpacks":
  20.                     SixPacks += ulong.Parse(Input [0]);
  21.                     Input = Console.ReadLine ().Split(' ');
  22.                     break;
  23.                 case "cases":
  24.                     Cases += ulong.Parse(Input [0]);
  25.                     Input = Console.ReadLine ().Split(' ');
  26.                     break;
  27.                 default:
  28.                     Input = Console.ReadLine ().Split(' ');
  29.                     break;
  30.                 }
  31.             }
  32.             ulong AvailableBeers = (Beers + SixPacks *6 +Cases*24) - (Beers + SixPacks *6 +Cases*24) / 100;
  33.             if ((AvailableBeers)<ReservedBeers) {
  34.                 ulong NeededBeer = ReservedBeers - AvailableBeers;
  35. //              if (NeededBeer >=100) {
  36. //                  NeededBeer+=NeededBeer/100;
  37. //              }
  38.                 Console.WriteLine ("Not enough beer. " +
  39.                     "Beer needed: {0} cases" +
  40.                     ", {1} sixpacks " +
  41.                     "and {2} beers.",NeededBeer/24,(NeededBeer%24)/6,((NeededBeer%24)%6));
  42.             } else {
  43.                 if (Beers>=ReservedBeers) {
  44.                     Beers -= ReservedBeers;
  45.                 } else if ((SixPacks*6+Beers)>=ReservedBeers) {
  46.                     ReservedBeers -= Beers;
  47.                     SixPacks -= (ReservedBeers/6 - 1);
  48.                     Beers = ReservedBeers % 6;
  49.                 } else {
  50.                     ReservedBeers -= (Beers + SixPacks * 6);
  51.                     Cases -= (ReservedBeers / 24 - 1);
  52.                     if (SixPacks>=(ReservedBeers%24)/6) {
  53.                         SixPacks = (ReservedBeers % 24) / 6;
  54.                         Beers = ((ReservedBeers % 24) % 6);
  55.                     } else {
  56.                         SixPacks = 0;
  57.                         Beers = ReservedBeers % 24;
  58.                     }
  59.                 }
  60.                 Console.WriteLine ("Cheers! Beer left: {0} cases, {1} sixpacks and {2} beers.",Cases,SixPacks,Beers);
  61.             }
  62.         }
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement