Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- class CookingTheBooks
- {
- static int countOfNumbers;
- static int[] digits;
- static int min = int.MaxValue;
- static int max = 0;
- static void Main()
- {
- countOfNumbers = int.Parse(Console.ReadLine());
- string[] numbers = new string[countOfNumbers];
- for (int index = 0; index < countOfNumbers; index++)
- {
- numbers[index] = Console.ReadLine();
- }
- for (int index = 0; index < numbers.Length; index++)
- {
- digits = new int[numbers[index].Length];
- for (int digit = 0; digit < numbers[index].Length; digit++)
- {
- digits[digit] = int.Parse(numbers[index][digit].ToString());
- }
- fudgeNumber();
- Console.WriteLine("Case #{0}: {1} {2}", index + 1, min, max);
- min = int.MaxValue;
- max = 0;
- }
- }
- private static void fudgeNumber()
- {
- if (digits.Length == 1)
- {
- min = digits[0];
- max = digits[0];
- return;
- }
- checkOutput();
- for (int firstDigit = 0; firstDigit < digits.Length - 1; firstDigit++)
- {
- for (int secondDigit = firstDigit + 1; secondDigit < digits.Length; secondDigit++)
- {
- swap(ref digits[firstDigit], ref digits[secondDigit]);
- checkOutput();
- swap(ref digits[firstDigit], ref digits[secondDigit]);
- }
- }
- }
- private static void checkOutput()
- {
- string result = String.Join("", digits);
- if (digits[0] != 0)
- {
- int number = int.Parse(result);
- if (max < number)
- {
- max = number;
- }
- if (min > number)
- {
- min = number;
- }
- }
- }
- private static void swap(ref int first, ref int second)
- {
- int temp = first;
- first = second;
- second = temp;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement