Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Shelock
- {
- class Program
- {
- static void Main(string[] args)
- {
- string s;
- s = Console.ReadLine();
- if (FullString(s)=="YES")
- {
- Console.WriteLine("YES");
- }
- else
- {
- int counter = 0;
- int[] array = new int[1000];
- for (int i = 0; i < s.Length; i++)
- {
- string subString = s.Remove(i, 1);
- //Console.WriteLine(subString);
- char[] subCharArray = subString.ToCharArray();
- string holder = "";
- for (int j = 0; j < subString.Length; j++)
- {
- if (!holder.Contains(subCharArray[j]))
- {
- holder = holder + subCharArray[j];
- }
- }
- // Console.WriteLine(subString+" contains "+holder);
- char[] holderArray = holder.ToCharArray();
- for (int j = 0; j < holder.Length; j++)
- {
- int cntLetter = 0;
- for (int k = 0; k < subString.Length; k++)
- {
- if (holderArray[j] == subCharArray[k])
- {
- cntLetter++;
- }
- }
- array[j] = cntLetter;
- // Console.WriteLine(holderArray[j]+" is "+cntLetter+" times");
- }
- int arrLength = 0;
- for (int j = 0; j < holder.Length; j++)
- {
- arrLength = arrLength + 1;
- // Console.WriteLine(array[j]+" ");
- }
- int maxNumber = array.Max();
- int minNumber = MinNumber(array, arrLength);
- //Console.WriteLine("Max Number :"+maxNumber);
- //Console.WriteLine("Min Number :"+minNumber);
- if (maxNumber == minNumber)
- {
- counter++;
- }
- }
- if (counter > 0)
- {
- Console.WriteLine("YES");
- }
- else
- {
- Console.WriteLine("NO");
- }
- }
- Console.ReadKey();
- }
- static int MinNumber(int[] arr, int arrLength )
- {
- int tem;
- for (int i = 0; i < arrLength-1; i++)
- {
- for (int j = i+1; j <arrLength; j++)
- {
- if (arr[i]>arr[j])
- {
- tem = arr[i];
- arr[i] = arr[j];
- arr[j] = tem;
- }
- }
- }
- int[] arr2 = arr;
- return arr[0];
- }
- static string FullString(string s)
- {
- char[] CharArray = s.ToCharArray();
- string holder = "";
- int[] array=new int[1000];
- for (int j = 0; j < s.Length; j++)
- {
- if (!holder.Contains(CharArray[j]))
- {
- holder = holder + CharArray[j];
- }
- }
- char[] holderArray = holder.ToCharArray();
- for (int j = 0; j < holder.Length; j++)
- {
- int cntLetter = 0;
- for (int k = 0; k < s.Length; k++)
- {
- if (holderArray[j] == CharArray[k])
- {
- cntLetter++;
- }
- }
- array[j] = cntLetter;
- // Console.WriteLine(holderArray[j]+" is "+cntLetter+" times");
- }
- int arrLength = 0;
- for (int j = 0; j < holder.Length; j++)
- {
- arrLength = arrLength + 1;
- // Console.WriteLine(array[j]+" ");
- }
- int maxNumber = array.Max();
- int minNumber = MinNumber(array, arrLength);
- string returnString;
- if (maxNumber==minNumber)
- {
- returnString = "YES";
- }
- else
- {
- returnString = "NO";
- }
- return returnString;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment