Sunday, September 3, 2017

844A. Diversity Codeforces Problem Solution & Logic

http://codeforces.com/problemset/problem/844/A

তোমায়  একটা  স্ট্রিং  (s)  ও  একটা  সংখ্যা  (n) দেয় থাকবে ,  তোমায়  বলতে  হবে - সেই  স্ট্রিং  - এর  কয়টা ক্যারেক্টার   চেঞ্জ  করলে  ,  মোট n  টি  ডিস্ট্রিংক্ট  ( আলাদা  )  ক্যারেক্টার  পাওয়া সম্ভব  ????

তাহলে , ধরো - দেয়া আছে ,  Janam & n=5  তাহলে , Janam শব্দটার ভেতরে - ইতিমধ্যে 4  টা  আলাদা ক্যারেক্টার ( J , a , n , m)  আছে ,   তাহলে   5   টি   পূরণ   করতে   গেলে -    শুধুমাত্র   আর    একটা    Double  ক্যারেক্টার  (a)  এর জায়গায় অন্য আরেকটা বসিয়ে দিলেই মোট  ডিস্ট্রিংক্ট  ( আলাদা  )  ক্যারেক্টার হবে  5   টি । । সুতরাং উত্তর হবে  ১ টি ।

এখন ধরো ,  স্ট্রিং  (s) লেংথ এর চেয়ে n  এর মানই বেশি হইলো - তাহলে কিন্তু উত্তর হবে  impossible
চলো কোড দেখে আসি এইবার ------------------------

IN C# LANGUAGE.........................

using System;

public class Test
{
    public static void Main()
    {
        string s=Console.ReadLine();
        int n=Convert.ToInt32(Console.ReadLine());
        int l=s.Length;
        char[] array=new char[l];
        for(int i=0;i<l;i++)
        {
            array[i]=s[i];
        }
        Array.Sort<char>(array);
        int count=0;
        for(int j=1;j<l;j++)
        {
         if(array[j]!=array[j-1])
         {
             count++;
         }
        }
        count=count+1;
        if(n>l)
        {
            Console.WriteLine("impossible");
        }
        else
        {
            if((n-count)>0)
            {
                Console.WriteLine(n-count);
            }
            else
            {
                Console.WriteLine("0");
            }
        }
    }
}

No comments:

Post a Comment