Wednesday, 16 March 2016

শব্দগুলো গুণে ফেলো ( Count All Words ) Codemarshal Problem Solution.

দুই বন্ধু সাকিব এবং তামিম স্ট্রিং অনেক পছন্দ করে। একদিন তারা rap song শুনছিল। আমরা সবাই জানি rap song এর প্রতিটা শব্দ বোঝা অনেক কঠিন। এখান থেকে তারা একটা খেলার ধারণা পেল। খেলাটা অনেক সহজ, rap song শুনে তাদেরকে শব্দ গুলোকে খাতায় লিখতে হবে। গান শেষ হওয়ার সাথে সাথে খেলাও শেষ হবে। খেলা শেষ হওয়ার পর তারা দেখল তারা প্রত্যেকেই কিছু শব্দ লিখতে পারেনি বা একই শব্দ একাধিক বার লিখেছে। তাই মোট কতগুলো ভিন্ন শব্দ তারা লিখেছে এটা গণনা করা তাদের জন্য কঠিন হয়ে দাঁড়িয়েছে। যেহেতু তুমি সাকিব ও তামিমের এর শহরের সবচেয়ে বড় প্রোগ্রামার, তাই তারা তোমার কাছে সাহায্যের জন্য এসেছে।
এই প্রবলেমে তোমাকে N সংখ্যক শব্দ দেওয়া থাকবে। তোমাকে এর মদ্ধে কয়টা ভিন্ন শব্দ আছে তার সংখ্যা বের করতে হবে।
Two friends Shakib and Tamim love strings. One day they were listening to a rap song. We all know that it's very difficult to understand every words of a rap song. Soon they found an idea of a game. The game is simple, they will note as many words as possible listening to the song. The game ends when the song finishes. When the game ended they noticed that each of them may have missed some words or may have written the same word multiple times. So they found it difficult to count all words which are unique combining both Shakib and Tamim's results. As you are the great programmer of there city, they asked for your help.
In this problem you'll be given N words. How have two find the number of unique words.

ইনপুটের বর্ণনা

ইনপুট এর প্রথম লাইনে টেস্ট কেস সংখ্যা T (0<T<=100) দেওয়া থাকবে। প্রত্যেকটি কেস একটা ধনাত্মক সংখ্যা N (0<N<=1000) দিয়ে শুরু হবে। পরের N সংখ্যক লাইনে একটা করে শব্দ দেওয়া থাকবে। শব্দ গুলো কেবল ইংরেজি ছোট হাতের অক্ষরে হবে যার দৈর্ঘ্য 100 থেকে কম বা সমান কিন্তু 1 থেকে কম নয়।

Input Specification

Input starts with the number of test cases T (0<T<=100). Each case starts with a positive integer N (0<N<=1000). Each of the next Nlines will contain one word. Words will be consisting of only lower case English alphabets and its length will be not more than 100 and not less than 1.

আউটপুট এর বর্ণনা

আউটপুটঃ প্রত্যেক টেস্ট কেস এর জন্য একক শব্দের সংখ্যা প্রিন্ট করতে হবে।

Output Specification

For each case print the number of unique words.

টেস্টকেসের বর্ণনা

  • ৫০ ভাগ মার্ক এর জন্য (0<T<=20)0<N<=70 এবং শব্দের দৈর্ঘ্য ৭০ এর কম কিন্তু  এর কম নয়।
  • ১০০ ভাগ মার্ক এর জন্য মূল ইনপুট এর সীমা প্রযোজ্য।

Constraints

  • For 50% marks, (0<T<=20)0<N<=70 and string length will be less than 70 but not empty.
  • For 100% marks, follow the input constraint.

Sample

InputOutput
1 5 qwerty ytrewq asdf asdf zxcv4
Solution:

#include<bits/stdc++.h>
using namespace std;
/*
    *
    * Prosen Ghosh
    * American International University - Bangladesh (AIUB)
    *
*/
int main(){

    int T,n;
    scanf("%d",&T);
    for(int t = 1; t <= T; t++){
        set<string>res;
        cin >> n;
        for(int i = 0; i < n; i++){
            string str;
            cin >> str;
            res.insert(str);
        }
        cout << res.size() << endl;
    }
    return 0;
}

No comments:

Post a Comment