http://codeforces.com/problemset/problem/271/A
এটা খুবই সহজ একটা সমস্যা , যদি নিজে নিজে সলভ করতে পারো তাহলে তো কথাই নেই , নিজের কাছেই অনেক ভালো লাগবে । যাই হোক , তোমায় একটা সাল দেয়া থাকবে - তোমায় বলতে হবে , ঠিক এর পরের কোন সালে'র সবগুলো ডিজিট Distinct থাকবে , অর্থাৎ আলাদা আলাদা হবে । দেয়া সাল'টা কিন্তু সবসময়ই (1000 ≤ y ≤ 9000 ) 4 ডিজিটের থাকবে । । সুতরাং , সব শর্তের বিচারে আমরা যে জিনিসটা করতে পারি , সেটা হলো --- দেয়া সাল ১ করে ১ করে বাড়িয়ে দেখবো - কোন সালের সবগুলো ডিজিট আলাদা আলাদা হবে ?? ঠিকাছে ?? ডিজিট গুলো বের করার জন্য কিন্তু ,
প্রথম ডিজিট a = y / 1000;
দ্বিতীয় ডিজিট b = y / 100 % 10;
তিন নাম্বার ডিজিট c = y / 10 % 10;
শেষ এর ডিজিট d = y % 10;
এই চারটি লাইন ব্যবহার করেছি ,তারপর চেক করেছি , সবগুলো আলাদা আলাদা কি না ?? চলো , কোড দেখি এইবার -----
IN C++ LANGUAGE.......................
#include<bits/stdc++.h>
using namespace std;
int main()
{
int y,a,b,c,d;
cin >> y;
while (true)
{
y = y+1;
a = y / 1000;
b = y / 100 % 10;
c = y / 10 % 10;
d = y % 10;
if (a != b && a != c && a != d && b != c && b != d && c != d)
{
break;
}
}
cout << y << endl;
return 0;
}
IN C# LANGUAGE...............
using System;
class Exercise11
{
static void Main()
{
int y=Convert.ToInt32(Console.ReadLine());
int a,b,c,d;
while (true)
{
y = y+1;
a = y / 1000;
b = y / 100 % 10;
c = y / 10 % 10;
d = y % 10;
if (a != b && a != c && a != d && b != c && b != d && c != d)
{
break;
}
}
Console.WriteLine(y);
}
}
এটা খুবই সহজ একটা সমস্যা , যদি নিজে নিজে সলভ করতে পারো তাহলে তো কথাই নেই , নিজের কাছেই অনেক ভালো লাগবে । যাই হোক , তোমায় একটা সাল দেয়া থাকবে - তোমায় বলতে হবে , ঠিক এর পরের কোন সালে'র সবগুলো ডিজিট Distinct থাকবে , অর্থাৎ আলাদা আলাদা হবে । দেয়া সাল'টা কিন্তু সবসময়ই (1000 ≤ y ≤ 9000 ) 4 ডিজিটের থাকবে । । সুতরাং , সব শর্তের বিচারে আমরা যে জিনিসটা করতে পারি , সেটা হলো --- দেয়া সাল ১ করে ১ করে বাড়িয়ে দেখবো - কোন সালের সবগুলো ডিজিট আলাদা আলাদা হবে ?? ঠিকাছে ?? ডিজিট গুলো বের করার জন্য কিন্তু ,
প্রথম ডিজিট a = y / 1000;
দ্বিতীয় ডিজিট b = y / 100 % 10;
তিন নাম্বার ডিজিট c = y / 10 % 10;
শেষ এর ডিজিট d = y % 10;
এই চারটি লাইন ব্যবহার করেছি ,তারপর চেক করেছি , সবগুলো আলাদা আলাদা কি না ?? চলো , কোড দেখি এইবার -----
IN C++ LANGUAGE.......................
#include<bits/stdc++.h>
using namespace std;
int main()
{
int y,a,b,c,d;
cin >> y;
while (true)
{
y = y+1;
a = y / 1000;
b = y / 100 % 10;
c = y / 10 % 10;
d = y % 10;
if (a != b && a != c && a != d && b != c && b != d && c != d)
{
break;
}
}
cout << y << endl;
return 0;
}
IN C# LANGUAGE...............
using System;
class Exercise11
{
static void Main()
{
int y=Convert.ToInt32(Console.ReadLine());
int a,b,c,d;
while (true)
{
y = y+1;
a = y / 1000;
b = y / 100 % 10;
c = y / 10 % 10;
d = y % 10;
if (a != b && a != c && a != d && b != c && b != d && c != d)
{
break;
}
}
Console.WriteLine(y);
}
}
Thanks a lot.
ReplyDelete#include
ReplyDeleteusing namespace std;
void solve() {
int year, num, ar[4], i;
cin >> year;
while(true) {
i = 3;
year++;
num = year;
while (num != 0) {
ar[i--] = num % 10;
num /= 10;
}
if(ar[0] != ar[1] && ar[0] != ar[2] && ar[0] != ar[3] && ar[1] != ar[2] && ar[1] != ar[3] && ar[2] != ar[3]) {
break;
}
}
cout << year << endl;
}
int main() {
solve();
return 0;
}