http://codeforces.com/problemset/problem/556/A
খুবই সহজ একটা প্রোবলেম , তোমায় একটা স্ট্রিং দেয়া থাকবে । । স্ট্রিং-এ শুধু ১ /০ থাকবে । এছাড়া
কিছুই থাকবে না ।। এখন ঘটনা হলো -- তোমায় স্ট্রিং এ যখনই ১ আর ০ পাশাপাশি থাকবে -- তখনই
পাশাপাশি থাকা ১ আর ০ ভ্যানিস করে দিতে হবে , অবশেষে -- স্ট্রিং এর লেংথ কতো হয় ?? সেটা তোমায় প্রিন্ট করতে হবে । চলো , একটা উদাহরন দেখে নেই ----
111011101 > 11 11 1 \\ তাহলে ০ গুলি উঠে গিয়ে এখন লেংথ হলো মোট ৫ । যেখান থেকে -
০ আর ১ উঠে গেছে ,সেই যায়গা গুলো ফাকা আছে বোঝার সুবিধার
জন্য ।
তো আমাদের একটা সহজ উপায় আছে , সেটা হলো - প্রথমে কয়টা ১ আর ০ আছে , সেটা বের করে নেয়া । এখানে , ১ এর পরিমাণ হলো -- ৭ টা আর ০ দুইটা । তাইলে , আমি বুঝতেই পারছি যে -- ০ আছে ১ এর চেয়ে কম , এর মানে ০ আর ১ উঠিয়ে দিলে ০ শেষ হয়ে গেলেও ১ শেষ হবে না , তাই না ?? এখন , ০ যে কয়টা আছে , তার ডাবল সংখ্যক ক্যারেক্টার এই স্ট্রিং থেকে বাদ দিতে হবে , কারণ প্রত্যেকটা ০ উঠে যাবার সময় , একটা করে ১কেও সাথে করে উঠিয়ে নিয়ে যাবে ।
তো যাই হোক , ০ এর সংখ্যা বেশি হলেও ১ এর সংখ্যাকে ডাবল করতে হতো ------
চলো , কোড দেখি এইবার --------------
IN C++ LANGUAGE...............
খুবই সহজ একটা প্রোবলেম , তোমায় একটা স্ট্রিং দেয়া থাকবে । । স্ট্রিং-এ শুধু ১ /০ থাকবে । এছাড়া
কিছুই থাকবে না ।। এখন ঘটনা হলো -- তোমায় স্ট্রিং এ যখনই ১ আর ০ পাশাপাশি থাকবে -- তখনই
পাশাপাশি থাকা ১ আর ০ ভ্যানিস করে দিতে হবে , অবশেষে -- স্ট্রিং এর লেংথ কতো হয় ?? সেটা তোমায় প্রিন্ট করতে হবে । চলো , একটা উদাহরন দেখে নেই ----
111011101 > 11 11 1 \\ তাহলে ০ গুলি উঠে গিয়ে এখন লেংথ হলো মোট ৫ । যেখান থেকে -
০ আর ১ উঠে গেছে ,সেই যায়গা গুলো ফাকা আছে বোঝার সুবিধার
জন্য ।
তো আমাদের একটা সহজ উপায় আছে , সেটা হলো - প্রথমে কয়টা ১ আর ০ আছে , সেটা বের করে নেয়া । এখানে , ১ এর পরিমাণ হলো -- ৭ টা আর ০ দুইটা । তাইলে , আমি বুঝতেই পারছি যে -- ০ আছে ১ এর চেয়ে কম , এর মানে ০ আর ১ উঠিয়ে দিলে ০ শেষ হয়ে গেলেও ১ শেষ হবে না , তাই না ?? এখন , ০ যে কয়টা আছে , তার ডাবল সংখ্যক ক্যারেক্টার এই স্ট্রিং থেকে বাদ দিতে হবে , কারণ প্রত্যেকটা ০ উঠে যাবার সময় , একটা করে ১কেও সাথে করে উঠিয়ে নিয়ে যাবে ।
তো যাই হোক , ০ এর সংখ্যা বেশি হলেও ১ এর সংখ্যাকে ডাবল করতে হতো ------
চলো , কোড দেখি এইবার --------------
IN C++ LANGUAGE...............
#include <iostream> #include <string> #include<math.h> using namespace std; int main() { int count=0,l,rount=0; cin>>l; string s; cin>>s; for(int i=0;i<l;i++) { if(s[i]=='1') count+=2; else rount+=2; } cout<<l-min(count,rount)<<endl; return 0; }
IN C# LANGUAGE.........
using System;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
int count=0,l,rount=0;
l=Convert.ToInt32(Console.ReadLine());
string s=Console.ReadLine();
for(int i=0;i<l;i++)
{
if(s[i]=='1')
count++;
else
rount++;
}
int q=0;
if(count>rount)
{
q=rount;
}
else{
q=count;
}
Console.WriteLine((l-2*q));
Console.ReadLine();
}
}
}
No comments:
Post a Comment