Sunday, 4 June 2017

UVA 483 Solve:


প্রব্লেমঃ প্রব্লেমটাতে বলা হয়েছে একটা বাক্যের মাজে কয়েকটা শব্দ আছে। আউটপুট হিসেবে প্রতিটা শব্দকে রিভার্স অর্ডারে দেখাতে হবে।

সমাধানঃ সম্পূর্ণ বাক্যকে একটা স্ট্যাকের ভিতরে রাখাবো। যখন আমরা স্পেস অথবা নিউলাইন পাবো  তখন স্ট্যাক থেকে বের করবো।
প্রব্লেমটা শলভ করার জন্য স্ট্যাক সম্পর্কে ভালো ধারণা থাকতে হবে। Stack

কোডঃ

#include<cstdio>
#include<stack>
using namespace std;
stack<char>s;
int main()
{
    char c;

    while((c=getchar())!=EOF)
    {
        if(c==' '||c=='\n')
        {
            while(s.size()!=0)
            {
                putchar(s.top());
                s.pop();
            }
            putchar(c);
        }
        else
        {
            s.push(c);
        }
    }
    return 0;
}

No comments:

Post a Comment