iliya87

04.NakovsMatching

Mar 28th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.70 KB | None | 0 0
  1. using System;
  2.  
  3. public class NakovsMatching
  4. {
  5.     static void Main()
  6.     {
  7.         string firstStr = Console.ReadLine();
  8.         string secondStr = Console.ReadLine();
  9.         int maxDiff = int.Parse(Console.ReadLine());
  10.  
  11.         bool found = false;
  12.         for (int firstIndex = 1; firstIndex <= firstStr.Length - 1; firstIndex++)
  13.         {
  14.             string leftFirstStr = firstStr.Substring(0, firstIndex);
  15.             string rightFirstStr = firstStr.Substring(firstIndex);
  16.             int leftFirstWeight = SumChars(leftFirstStr);
  17.             int rightFirstWeight = SumChars(rightFirstStr);
  18.  
  19.             for (int secondIndex = 1; secondIndex <= secondStr.Length - 1; secondIndex++)
  20.             {
  21.                 string leftSecondStr = secondStr.Substring(0, secondIndex);
  22.                 string rightSecondStr = secondStr.Substring(secondIndex);
  23.                 int leftSecondWeight = SumChars(leftSecondStr);
  24.                 int rightSecondWeight = SumChars(rightSecondStr);
  25.  
  26.                 int diff = Math.Abs(leftFirstWeight * rightSecondWeight - rightFirstWeight * leftSecondWeight);
  27.                 if (diff <= maxDiff)
  28.                 {
  29.                     Console.WriteLine(
  30.                         '(' + leftFirstStr + '|' + rightFirstStr + ") matches (" +
  31.                         leftSecondStr + '|' + rightSecondStr + ") by " + diff + " nakovs");
  32.                     found = true;
  33.                 }
  34.             }
  35.         }
  36.  
  37.         if (!found)
  38.         {
  39.             Console.WriteLine("No");
  40.         }
  41.     }
  42.  
  43.     static int SumChars(string str)
  44.     {
  45.         int sum = 0;
  46.         foreach (char ch in str)
  47.         {
  48.             sum += (int)ch;
  49.         }
  50.         return sum;
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment