মুখবন্ধ
আজ আমি আগের ধনু ধীরে ধীরে 900 টি শ্যুটিং করার সময় (10 টি শেষ একটি তীরের শেষে 10 এবং শেষটি 3 তীরে একটি প্রান্তে, মোট 90 তীর এবং সর্বোচ্চ 900 এর স্কোর), আমি এই চ্যালেঞ্জটির কথা ভেবেছিলাম।
তীরন্দাজিতে (ধরে নিই যে আপনি ফিটা সরবরাহিত টার্গেট ফেস [আপনি যে অঙ্কিত কাগজের টুকর উপরে শুটিং করছেন]), প্রতিটি তীরের জন্য আপনি সর্বাধিক স্কোর 10 দাবি করতে পারবেন, টার্গেট ফেসে হ্রাস ব্যাসের 10 বা 11 টি রিং রয়েছে, একে অপরের ভিতরে বাসা বেঁধেছে। অভ্যন্তরীণ আংটিটি বাইরের দিকে, এটি 10 পয়েন্ট থেকে এক বিন্দুতে গণনা করা হয় (এবং 11 টি রিংয়ের ক্ষেত্রে একটি গৌণতম অন্তঃস্থ রিং থাকে যা 'এক্স' হিসাবে গণনা করা হয়, যা 10 হিসাবে স্কোর হয় তবে টাই ব্রেকিংয়ের ক্ষেত্রে ব্যবহৃত হয় উচ্চতর মান)। পালন:
অবশ্যই, আমি ফিটা মেট্রিক স্কোরিংকে উল্লেখ করছি, যেমন উপরের চিত্রটিতে দেখা গেছে। আপনি যদি ঘনিষ্ঠভাবে লক্ষ্য করেন তবে আপনি অন্তর্লতম রিংটি পর্যবেক্ষণ করতে পারবেন যা একটি বিবর্ণ বিন্দুযুক্ত রেখা, যার স্কোর চিহ্নিত নেই। এটিই 'এক্স' যা আমি উল্লেখ করছি, কিন্তু বোনাসের জন্য প্রতিযোগিতা না করা পর্যন্ত আপনাকে সেদিকে খেয়াল রাখতে হবে না।
চ্যালেঞ্জ
একটি ফাংশন তৈরি করুন (বা পুরো প্রোগ্রাম, যদি ভাষা ফাংশন সমর্থন করে না), যা পুরোপুরি বর্গক্ষেত্রের চিত্রটি ইনপুট হিসাবে (বা চিত্রের ফাইলের নাম, যদি প্রয়োজন হয়) প্রাপ্ত করে, যাতে কয়েকটি সংখ্যক সবুজ থাকে (HEX # 00FF00, আরজিবি (0, 255, 0)) কিছু আকারের বিন্দুগুলি এবং স্কোরটি দেয়। চিত্রটিতে সবুজ বিন্দু ছাড়া অন্য কোনও ডেটা থাকতে পারে তবে সবুজ সবসময় হুবহু একই শেডে থাকবে।
আপনি কল্পনা করতে পারেন যে বর্গক্ষেত্র চিত্রটি 4 টি পয়েন্টে শীর্ষ স্পর্শ করে (শীর্ষ কেন্দ্র, নীচের কেন্দ্র, ডানদিকে, বাম দিকে) ছোঁয়া লক্ষ্যবস্তুর প্রতিনিধিত্ব করে। উপস্থাপিত লক্ষ্যযুক্ত মুখটি সর্বদা একই অনুপাতের হবে, সমস্ত রিংয়ের সাথে ইনপুট টার্গেট চিত্রের প্রস্থের ঠিক 1/20 তম প্রস্থ থাকবে। উদাহরণস্বরূপ, 400px বাই 400px ইনপুট মাত্রাগুলির একটি ইনপুট চিত্র দেওয়া, আপনি ধরে নিতে পারেন যে প্রতিটি রিংটির অভ্যন্তরীণ প্রস্থ 20px রয়েছে, নীচে চিত্রিত হিসাবে:
ব্যাখ্যা
- যদি দুটি পৃথক রিং স্পর্শ করে তবে দুটি রিংয়ের উচ্চতর গণনা করা হয়
- বোনাসটির জন্য চেষ্টা না করা হলে আপনাকে স্বয়ংক্রিয়ভাবে মিস বা 'এক্স' কেসের জন্য অ্যাকাউন্ট করতে হবে না
- আপনি ধরে নিতে পারেন যে কোনও সবুজ চেনাশোনা ওভারল্যাপ করছে না
- আপনি এটি ধরেও নিতে পারেন যে সবুজ ছায়ার আর কোনও পিক্সেল চিত্রটিতে নেই
- চিত্রটি হয় পিএনজি, জেপিজি বা পিপিএম ফর্ম্যাটে থাকবে (আপনার পছন্দ)
- বাহ্যিক চিত্র প্রক্রিয়াকরণ গ্রন্থাগারগুলি অনুমোদিত, যদি এই প্রশ্নটি পোস্ট করার আগে রচিত হয়
- আপনি ধরে নিতে পারেন যে একটি লক্ষ্যতে সমস্ত সবুজ চেনাশোনা একই ব্যাস হবে same
- ওভারল্যাপিং চেনাশোনা বোনাসের জন্য শুটিং (হাহ), আপনি ধরে নিতে পারেন যে চিত্রের কমপক্ষে একটি চেনাশোনাতে অন্যটি ওভারল্যাপিং নেই
- স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়
পরীক্ষার মামলা
নিম্নলিখিত দুটি ক্ষেত্রে প্রতিটি স্কোর 52 (বা বোনাসের ক্ষেত্রে 52 এর 1 'x' এবং 1 মিস) হওয়া উচিত:
এবং এই শেষ পরীক্ষার কেসটি 25 স্কোর করা উচিত :
বোনাস
- -২৫ বাইটস যদি আপনিও মিসের সংখ্যা (যেকোন রিংয়ের বাইরে) ফেরত দেন
- -30 বাইট আপনি যদি X এর পরিমাণও ফেরত দেন (ধরে নিন যে অন্তর্নিহিত এক্সটি চিত্রের প্রস্থের 3/100 তম এবং 10 এর পরে চিত্রের প্রস্থের 2/100 ভাগ রয়েছে 1 1-9 অনুপাত অপরিবর্তিত রয়েছে)
- ওভারল্যাপিং চেনাশোনাগুলির জন্য অ্যাকাউন্ট নিলে -35% বাইট গণনা
এটি কোড গল্ফ, তাই কমপক্ষে বাইটস জিতে। আনন্দ কর!