http://codeforces.com/problemset/problem/849/A
খুবই মজার একটা সমস্যা , ধরো - তোমায় একটা সিকুয়েন্স দেয়া থাকবে , এখন সেখানে - সেই সিকুয়েন্স কে এমন বিজোড় সংখ্যক ভাগে ভাগ করতে হবে যেনো , প্রত্যেক ভাগের প্রথম ও শেষ সংখ্যা বিজোড় এবং সিকুয়েন্স এর লেংথ'ও যেনো বিজোড় হয় ।। ধরো , একটা উদাহরণ দেই যেমন ----
খুবই মজার একটা সমস্যা , ধরো - তোমায় একটা সিকুয়েন্স দেয়া থাকবে , এখন সেখানে - সেই সিকুয়েন্স কে এমন বিজোড় সংখ্যক ভাগে ভাগ করতে হবে যেনো , প্রত্যেক ভাগের প্রথম ও শেষ সংখ্যা বিজোড় এবং সিকুয়েন্স এর লেংথ'ও যেনো বিজোড় হয় ।। ধরো , একটা উদাহরণ দেই যেমন ----
1 0 1 5 1 , এখানে একে মোট তিন'টা (বিজোড় সংখ্যক) ভাগে ভাগ করা যাবে যেখানে প্রথম ও
শেষ সংখ্যা বিজোড় ও তার লেংথ'ও বিজোড় হয় ।।
(1 0 1) , (5) , (1)
আশা করি , কাহিনী কিছুটা হলেও পরিষ্কার ।। তো , তোমার কাজ হইলো - যদি , দেয়া সিকুয়েন্স এইভাবে প্রকাশ করা
সম্ভব হয় - তাহলে প্রিন্ট করবে , Yes আর না হলে - No ||
তো , এই তিন'টা শর্ত দিয়ে চেক করে যদি -কোনো সিকুয়েন্স ঠিক পাই , তাহলে - হ্যা আর না হলে না । ।
প্রথম সংখ্যা বিজোড়
শেষ সংখ্যা বিজোড়
সিকুয়েন্স এর লেংথ বিজোড়
এই তিন'টি শর্ত দিয়ে চেক করে দেখবো , চলো কোড দেখি এইবার
IN C++ LANGUAGE...................
#include<bits/stdc++.h> using namespace std; #define N 510 int main() { cin.sync_with_stdio(false); int n, num[N]; while (cin >> n) { for (int i = 0; i < n; i++) { cin >> num[i]; } if (num[0] % 2 == 1 && num[n - 1] % 2 == 1 && n % 2 == 1) { cout << "YES" << endl; } else { cout << "NO" << endl; } } return 0; }
IN C# LANGUAGE..................
using System; public class Test { public static void Main() { int n=Convert.ToInt32(Console.ReadLine()); int[] num=new int[n]; string s=Console.ReadLine(); string[] values=s.Split(' '); for (int i = 0; i < n; i++) { num[i]=int.Parse(values[i]); } if (num[0] % 2 == 1 && num[n-1] % 2 == 1 && n%2==1) { Console.WriteLine("YES"); } else { Console.WriteLine("NO"); } } }
No comments:
Post a Comment