Friday, July 14, 2017

DCP-38: Mysterious Pond Devskill Problem Solution & Logic

https://www.devskill.com/CodingProblems/ViewProblem/38

খুবই মজার একটি প্রোবলেম , কয়েকটা ছেলে - পুকুরে ঝাপ দিয়েছে , তাদের সবার বেগ দেয়া আছে , তোমায় ছেলেগুলোর নাম ও বেগ দেয়া আছে , তোমায় বলতে হবে কার গতি সবচেয়ে বেশি ছিলো ?? আর কার সবচেয়ে কম ছিলো ?? তাদের নাম প্রিন্ট করতে হবে । এখন এই জন্য , আমি   STL  এর  MAP 
ইউস করে , সমাধান করেছি । এটা , নোড দিয়েও করা যায় - যদি কেউ করতে চায় ।  STL  জানা না থাকলে , খুব শীঘ্রই এটা শিখে নেয়া উচিত । প্রতিযোগিতা মূলক প্রোগ্রামিং -এ এটা বেশ প্রয়োগযোগ্য ।

                           চলো , কোড দেখি এবার --------

#include<iostream>
#include<cmath>
#include<map>
#include<algorithm>

using namespace std;



//Nayeem Mollick Joy , Applied Physics & Electronic Engineering, University of Rajshahi.

int main()

{
    map<string,int>joy;
    string s,n1,n2;
    int t,a,v;
    cin>>t;
    while(t--)
    {
        cin>>a;
        int i=0,mx=0,mn=1000001;
        while(a--)
        {
            cin>>s>>v;
            joy.insert(make_pair(s,v));
        }
        map<string,int>::iterator itr=joy.begin();
        map<string,int>::iterator jony=joy.end();
        for(itr;itr!=jony;itr++)
        {
            if(mx<(*itr).second)
            {
                n1=(*itr).first;
                mx=(*itr).second;
            }
            if(mn>(*itr).second){
                n2=(*itr).first;
                mn=(*itr).second;
            }
        }
        cout<<n1<<" "<<n2<<endl;
        joy.clear();
    }
    return 0;
}

No comments:

Post a Comment