কাজটি
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা ট্র্যাফিক চৌরাস্তা কাঠামো নেয় এবং ক্রমটি আউটপুট দেয়, যাতে যানবাহনগুলি পাস করবে।
আউটপুট নিম্নলিখিত বিন্যাসে ছাড়া সর্বাধিক চার লাইন থাকা উচিত #. x->y\n, যেখানে #একটা ক্রম সংখ্যা সংখ্যা, বিন্দু দ্বারা অনুসরণ ., xএবং yঅক্ষর ["N", "E", "S", "W"]। এগুলি অক্ষর দ্বারা পৃথক করা উচিত ->। আপনি যদি কোনও স্ট্রিংয়ের অ্যারে না ফেরান, প্রতিটি লাইন অবশ্যই একটি \n(নতুন লাইন অক্ষর) বা আপনার সিস্টেমের সমতুল্য সমাপ্ত হবে ।
ইনপুট নিম্নলিখিত ফর্ম গ্রহণ করা উচিত:
- পর্ব 1: চারটি অক্ষর, প্রত্যেকে N, E, S, W (ঘড়ির কাঁটার) ক্রমে উত্স রাস্তার গন্তব্য রাস্তা রয়েছে। অনুমতি অক্ষর
N,S,W,Eবা। স্পেস মানে নির্দিষ্ট রাস্তায় কোনও যানবাহন নেই। উদাহরণস্বরূপ স্ট্রিংয়েরS WEঅর্থ, যে এন যানবাহন দক্ষিণে যেতে চায়, স্থানটির অর্থ কোনও ই যানবাহন নেই, এরWঅর্থ এস পশ্চিমে যেতে ইচ্ছুক, এরEঅর্থ পশ্চিম পশ্চিমে যেতে চায়। - পার্ট 2 - একটি স্থান বা একক অক্ষর যার অর্থ জরুরী গাড়ির।
- পার্ট 3 - দুটি অক্ষর কোন দুটি রাস্তার অগ্রাধিকার রয়েছে তা নির্ধারণ করে (উদাঃ
NEঅর্থ যে উত্তর এবং পূর্ব উভয়ই দক্ষিণ এবং পশ্চিম উভয়ের চেয়ে উচ্চ অগ্রাধিকার রয়েছে)। যদি এটি আপনার পক্ষে সহজ হয় তবে আপনি নিম্ন অগ্রাধিকারের রাস্তা নিতে পারেন (সেক্ষেত্রেSW)।
একটি অসমাধানযোগ্য অবস্থায় আপনি একটি এক-লাইন স্ট্রিংটি ব্যবহারকারী পরিষ্কার, মত হল ফিরে যাওয়ার অনুমতি দেওয়া হয় unsolvable, no solutionএবং অনুরূপ। জাভাস্ক্রিপ্ট ব্যবহারকারীরা অন্তর্নির্মিত undefinedধ্রুবক নিতে পারেন ।
এটি একটি কোড-গল্ফ, তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর ins
ট্র্যাফিক নিয়ম
দয়া করে মনে রাখবেন যে কিছু বিধি আপনার দেশের ট্র্যাফিক বিধি অনুসরণ করতে পারে না। চ্যালেঞ্জটি আরও সহজ করার জন্য তাদের মধ্যে কিছু সরল করা হয়েছে। বাস্তব জীবনের ট্র্যাফিক সিস্টেমের জন্য এই প্রশ্নটিকে গাইড হিসাবে ব্যবহার করবেন না।
- চ্যালেঞ্জের জন্য আপনাকে কেবল ডান পাশের ট্র্যাফিক ব্যবহারের অনুমতি দেওয়া হয়েছে।
- ট্র্যাফিক চৌরাস্তা ঠিক চারটি রাস্তা নিয়ে গঠিত যা এক বিন্দুতে মিলিত হয়। তারা চিহ্নিত হয়
N( "উত্তর" এর জন্য যেমন),S,W,E। এই বর্ণগুলি উপরের আউটপুট উদাহরণের পরিবর্তেxএবং ব্যবহার করা উচিতy।
- প্রতিটি রাস্তায় কমপক্ষে একটি গাড়ি রয়েছে। প্রতিটি রাস্তায় কোনও যানবাহন রয়েছে তা গ্যারান্টিযুক্ত নয়। প্রতিটি যানবাহন চার দিকের যেকোন একটিতে গাড়ি চালাতে পারে, যেমন। বাম দিকে ঘুরুন, ডানদিকে ঘুরুন, সোজা হয়ে যান বা একটি ইউ-টার্ন তৈরি করুন ।
- যদি দুটি যানবাহনের পাথ ছেদ না করে (তারা সংঘর্ষে না) তবে তারা খুব একই মুহূর্তে যেতে পারে। দুটি গাড়ি (যদি তালিকাটি সম্পূর্ণ নাও হতে পারে তবে পাথগুলি সংঘর্ষে আসে না, তবে এটি ইচ্ছাকৃত, কেবল আপনাকে একটি চিহ্ন দেওয়ার জন্য):
- বিপরীত দিক থেকে আসা এবং উভয় সোজা চলে যান, বা তাদের মধ্যে কমপক্ষে একটি ডানদিকে ফিরে যায়,
- বিপরীত দিক থেকে আসা এবং উভয় বাম দিকে ঘুরান,
- বিপরীত দিক থেকে আসে এবং তাদের মধ্যে কোনও দিক ঘুরিয়ে দেয় বা ইউ-টার্ন তৈরি করে, অন্যটি ইউ-টার্ন তৈরি করে,
- অরথোগোনাল দিক থেকে আসুন, একটি বাম দিকে ডানদিকে ঘুরছে এবং অন্যটি ইউ-টার্ন তৈরি করবে না
নীচের দিকে সংঘর্ষ না করার কয়েকটি উদাহরণ। অনুগ্রহ করে নোট করুন যে তৃতীয় অঙ্কনের সময় এন এর যে কোনও পাথ E এর পথের সাথে সংঘর্ষিত হবে, এমনকি এন যদি একটি ইউ-টার্ন তৈরি করে।
- দুটি পাথ সংঘর্ষ হলে অন্যান্য নিয়ম ব্যবহার করা দরকার use দুই যানবাহন (নিচে দেখুন) একই অগ্রাধিকার রাস্তা হন, উপায় ডান গাড়ির যে দেওয়া হয়:
- ডান দিকের রাস্তা থেকে আসে, যদি তারা অরথগোনাল দিক থেকে আসে
- অন্যটি বাম দিকে ঘুরলে ডান দিকে ঘুরুন
- অন্যটি যদি ইউ-টার্ন তোলে তবে সোজা হয়ে যায় বা ডানদিকে ফিরে যায়।
উভয় উদাহরণের নীচে ই যানবাহন এস এর উপরের রাতের ডান দিকের পথ রয়েছে S.
নীচের উদাহরণে প্রথমে ডাব্লু, তারপরে এন, তারপরে ই এবং সর্বশেষে এস যায় S.
এই বিশেষ ক্ষেত্রে আপনার প্রোগ্রামের আউটপুট হওয়া উচিত:
1. W->S
2. N->S
3. E->S
4. S->S
সমস্ত ড্রাইভার টার্ন সিগন্যাল ব্যবহার করে এবং অন্যরা কোথায় যেতে চান তা জানেন (সরলতার জন্য আমরা ধরে নিই যে বাম দিকে এবং ইউ-টার্নের মধ্যে পার্থক্য করা সম্ভব))
কখনও কখনও রাস্তাগুলিকে অগ্রাধিকারের চিহ্ন দেওয়া হয়, যা উপরোক্ত নিয়মগুলির চেয়ে বেশি গুরুত্বপূর্ণ। উচ্চ অগ্রাধিকার সহ একটি রাস্তায় অগ্রাধিকার চিহ্ন ( অগ্রাধিকারের চিহ্ন চিত্র ) থাকে। অগ্রাধিকার রাস্তা সোজা যেতে না পারেন, অতিরিক্ত লক্ষণ মত ব্যবহার করা হয়, এই এক । নিম্ন অগ্রাধিকার সহ রাস্তাগুলির একটি ফলন চিহ্ন বা একটি থামার চিহ্ন রয়েছে (সেগুলি সমতুল্য)। দুটি বা সঠিক দুটি ভিন্ন রাস্তার উচ্চ অগ্রাধিকার থাকবে না। আপনার প্রোগ্রামটির ব্যবহারকারীর প্রবেশ করতে সক্ষম হতে হবে কোন রাস্তাগুলিতে অগ্রাধিকার রয়েছে (বা নিম্ন)।
- উচ্চতর অগ্রাধিকার সহ রাস্তা থেকে আসা একটি যানটির নিম্ন বামদিকে থাকলেও নিম্ন অগ্রাধিকারের রাস্তা থেকে আসা যানবাহনের উপর দিয়ে ডানদিকে যেতে পারে।
- একই অগ্রাধিকার সহ রাস্তাগুলি থেকে আসা দুটি যানবাহনের পথ যদি সংঘর্ষ হয়, উপরের ডান দিকের নিয়মগুলি সক্রিয় রয়েছে are
নীচের রাস্তাগুলির উদাহরণে এস এবং ডাব্লুটির অগ্রাধিকার লক্ষণ রয়েছে যার অর্থ এন এবং ই এর যানবাহনগুলিকে তাদের পথ দেওয়া উচিত। এস গাড়ীর ডাব্লু গাড়ির চেয়ে অগ্রাধিকার রয়েছে, কারণ এটি তার ডানদিকে রয়েছে, তাই আগে যায়। তারপরে ডব্লিউ যায়, কারণ এটি E এর চেয়ে বেশি অগ্রাধিকারের পথে The শেষ হিসাবে E।
এই বিশেষ ক্ষেত্রে আপনার প্রোগ্রামের আউটপুট হওয়া উচিত:
1. S->W
2. W->N
3. N->S
4. E->W
- এটি সম্ভবত যে কোনও একটি (যানবাহন) কোনও যানবাহন নয় , এটি কোন দিক থেকে আসে বা কোথায় যায় এবং এর কোন চিহ্ন রয়েছে তা নির্বিশেষে এটির অগ্রাধিকার থাকে (এটি সর্বদা প্রথমে যায়)। প্রোগ্রামটি ব্যবহারকারীর প্রবেশের অনুমতি দেওয়া উচিত, কোন গাড়িটি জরুরি গাড়ি। সর্বশেষ উদাহরণে এন একটি জরুরি বাহন হিসাবে বিবেচনা করে এন প্রথমে যায়, তারপরে এস, ডাব্লু এবং শেষ ই হিসাবে as
এন এ জরুরী যানবাহনের সাথে এই বিশেষ ক্ষেত্রে আপনার প্রোগ্রামের আউটপুট হওয়া উচিত:
1. N->S
2. S->W
3. W->N
4. E->W
- যদি একই মুহুর্তে দুটি গাড়ি যাওয়ার অনুমতি দেওয়া হয় (তাদের পাথগুলি সংঘর্ষে না ঘটে এবং তাদের অন্যান্য যানবাহনগুলিতে কোনও রাস্তা দিতে হবে না), আপনার প্রোগ্রামটি এটি খুঁজে বের করা উচিত এবং তাদের একই ক্রম সংখ্যা হিসাবে ফিরে আসতে হবে
নীচের উদাহরণে N এবং E এর পাশাপাশি ই এবং এস বা ডাব্লু এবং ই এর সংঘর্ষ হয় না। যেহেতু এসকে এন এবং ডাব্লু এসকে পথ দিতে হবে, এস ই এর সাথে একসাথে যেতে পারে না, ইত্যাদি এন এবং ই পারে। সুতরাং প্রথমে এন এবং ই এক সাথে যান, এস এর চেয়ে আর ডাব্লু সর্বশেষ হিসাবে যান।
আপনার প্রোগ্রামের সঠিক আউটপুটটি হওয়া উচিত:
1. N->W
1. E->E
2. S->W
3. W->N
আপনি লাইনের ক্রম চয়ন করতে মুক্ত
1(N->W / E->Eসমতুল্যE->E / N->W)
- কখনও কখনও ট্র্যাফিক অবিশ্বাস্য পরিস্থিতির দিকে নিয়ে যেতে পারে, এটি কোনও যানবাহন যেতে দেয় না। বাস্তব জীবনে এটি সমাধান করা হয় যখন কোনও ড্রাইভার স্বেচ্ছায় তার উপায়ের পদত্যাগ করে। এখানে, আপনার প্রোগ্রামের আউটপুট
unsolvableইত্যাদি হওয়া উচিত , যেমন প্রশ্নের প্রথম অংশে উল্লিখিত হয়েছে।নীচে অবিশ্বাস্য পরিস্থিতির উদাহরণ রয়েছে। E এর W কে পথ দেওয়া উচিত, W এর এস কে পথ দেওয়া উচিত এবং S এর E কে পথ দেওয়া উচিত E











