archangelmihail

ShipDamage

Nov 30th, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.26 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ShipDamage
  8. {
  9.     class ShipDamage
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int sx1 = int.Parse(Console.ReadLine());
  14.             int sy1 = int.Parse(Console.ReadLine());
  15.             int sx2 = int.Parse(Console.ReadLine());
  16.             int sy2 = int.Parse(Console.ReadLine());
  17.             int horizon = int.Parse(Console.ReadLine());
  18.             int cx1 = int.Parse(Console.ReadLine());
  19.             int cy1 = int.Parse(Console.ReadLine());
  20.             int cx2 = int.Parse(Console.ReadLine());
  21.             int cy2 = int.Parse(Console.ReadLine());
  22.             int cx3 = int.Parse(Console.ReadLine());
  23.             int cy3 = int.Parse(Console.ReadLine());
  24.             //ship position
  25.            
  26.             // correction for horizon
  27.            
  28.             sy1 = sy1 - horizon;
  29.             sy2 = sy2 - horizon;
  30.             cy1 = horizon - cy1;
  31.             cy2 = horizon - cy2;
  32.             cy3 = horizon - cy3;
  33.  
  34.             int top = sy1 > sy2 ? sy1 : sy2;
  35.             int bot = sy1 < sy2 ? sy1 : sy2;
  36.             int left = sx1 < sx2 ? sx1 : sx2;
  37.             int right = sx1 > sx2 ? sx1 : sx2;
  38.            
  39.  
  40.             int damage = 0;
  41.             int shots = 0;
  42.             int x = cx1;
  43.             int y = cy1;
  44.  
  45.             do
  46.             {
  47.                 if ((x ==  left && y == top) || (x ==  left && y == bot)|| (x== right && y == top) || (x == right && y == bot))
  48.                 {
  49.                     damage += 25;
  50.                 }
  51.                 else if (x <= right && x >= left && y >= bot && y <= top )
  52.                 {
  53.                     if (x < right && x > left && y > bot && y < top)
  54.                     {
  55.                         damage += 100;
  56.                     }
  57.                     else
  58.                     {
  59.                         damage += 50;
  60.                     }
  61.                    
  62.                 }
  63.                 x = cx2;
  64.                 cx2 = cx3;
  65.                 y = cy2;
  66.                 cy2 = cy3;
  67.                 shots++;
  68.                
  69.  
  70.             } while (shots<=2);
  71.            
  72.             Console.WriteLine(damage + "%");
  73.         }
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment