আপনি নতুন একটি ফ্রিওয়ে তৈরির জন্য দায়বদ্ধ। যাইহোক, এটি পাহাড়ি জমি দিয়ে যায় এবং অতএব অসংখ্য সেতু এবং টানেলগুলির প্রয়োজন। ফ্রিওয়ে নিজেই একক স্তরে থাকা উচিত।
ইনপুট
নীচে যেমন স্ট্যান্ডার্ড ইনপুটটিতে পাহাড়গুলি দেখতে কেমন তার একটি মোটামুটি ASCII বিবরণ দেওয়া হবে:
/\
/ \
/\ / \
/\ / \/ \
/ \ / \ /\
/ \/ \ / \
_ / \ /\ / \
\ / \ / \ / \ /\
\ / \ / \/ \/ \
\ / \ /
\/ \/
_
প্রথম কলাম চিহ্ন মধ্যে শুরুতে এবং রাস্তার স্তর। পর্বতশ্রেণীটি সামঞ্জস্যপূর্ণ এবং শেষ বিভাগটি যদি একটি সেতু হয়ে যায় তবে এর একটি এমনকি সংখ্যক অক্ষর রয়েছে।
আপনি ধরে নিতে পারেন যে ইনপুটটির একটি লাইন কখনও কখনও 100 টি অক্ষরের বেশি হয় না এবং 15 টির বেশি লাইন থাকে না। প্রতিটি লাইনের সমান দৈর্ঘ্য রয়েছে যা সম্ভবত শেষে স্পেস প্যাডযুক্ত। রাস্তাটি কখনই কোনও পর্বতের মধ্যে বা সেতু হিসাবে শুরু হয় না। ইনপুটটিতে রাস্তার টাইল অনুসরণ করার পরে প্রথম জিনিসটি হ'ল নীচে বা উপরে।
আউটপুট
আউটপুট একই পর্বতশ্রেণী, কেবল এখানে এখন একটি রাস্তা যেখানে আগে কেবল তার শুরু ছিল। আউটপুট মান আউটপুট দেওয়া হয়।
এর জন্য রয়েছে অসংখ্য বিধি:
রাস্তাটি অবশ্যই ইনপুটটিতে নির্দেশিত স্থানে শুরু করতে হবে এবং একই স্তরে থাকবে। এটি আরও সহজ করার জন্য, আমরা বেশ কয়েকটি প্রাক-রাস্তার টাইল প্রস্তুত করেছি যা দেখতে দেখতে এটি
_
:_______ \ / \/\/
রাস্তাটি অবশ্যই পর্বতমালার সুদূর প্রান্তে প্রসারিত হতে হবে (অর্থাত্ ইনপুট লাইনের দৈর্ঘ্যটি রাস্তাটি কতদূর এগিয়ে যায়)।
যখনই কোনও পর্বত যেখানে রাস্তা যেতে হবে সেখানে টানেলগুলি ড্রিল করতে হবে। টানেলগুলি সোজা পাহাড়ের মধ্য দিয়ে যায় এবং শুরুতে এবং শেষে গর্তগুলি ছেড়ে দেয় (অর্থাত একটি টানেলটি শুরুতে একটি বন্ধনী বন্ধনী এবং তার শেষে একটি খোলার প্রথম বন্ধনী দিয়ে পর্বতের opeালকে প্রতিস্থাপন করে)।
সুড়ঙ্গগুলি ছেড়ে যায়, ভাল, পাহাড়ের একটি সুড়ঙ্গ যার সাধারণত সিলিং থাকে। আমাদের প্রিমেড রোড টাইলস ভাগ্যক্রমে সিলিংটি শক্তিশালী করার জন্য ব্যবহার করা যেতে পারে যাতে সুড়ঙ্গটি ধসে না যায় (টানেলের উপরে লাইনটি টানেলটিকে
_
শক্তিশালী করতে ব্যবহার করতে হবে):/\ / \ /____\ ___)______(__ \/ \/
যখন পর্বতটি তার উপরে পর্যাপ্ত পরিমাণে না থাকে তখন টানেলটিকে আরও জোরদার করার দরকার হয় না। এটি আমার কাছেও অদ্ভুত লাগছে তবে আমাকে বলা হয়েছে যে প্রিমেড রোড টাইলগুলি এমন অবস্থায় রাখা সত্ত্বেও ধরে রাখতে যথেষ্ট শক্তিশালী (যখন টানেলের উপরে কোনও opeালু থাকে তখন কোনও টানেলের সিলিং আঁকা হয় না):
/\ /\/__\ ___)______(__ \/ \/
যখনই রাস্তাটি একটি অট্টালিকা অতিক্রম করার প্রয়োজন হয় সেতুর প্রয়োজন needed সংক্ষিপ্ত সেতুগুলির জন্য প্রিমেড রোড টাইলগুলি যথেষ্ট শক্তিশালী তবে সেতুর শুরু এবং শেষের দিকে এখনও কিছুটা সমর্থন প্রয়োজন (ব্রিজের নীচে প্রথম নীচের দিকে slাল এবং শেষের দিকে wardালুটি প্রতিস্থাপন করা হয়
Y
যাতে সেতুর জন্য একটি সমর্থন বিম থাকে ):_____ Y Y \/
দীর্ঘতর সেতুগুলির অতিরিক্ত সমর্থন প্রয়োজন। দীর্ঘ সেতুটি এমন একটি যা পর পর ছয়টির বেশি অসমর্থিত রাস্তা টাইলস রয়েছে। দীর্ঘ সেতুগুলির তাদের কেন্দ্রে একটি স্তম্ভ প্রয়োজন। স্তম্ভ সহজে আমাদের prebuilt স্তম্ভ রশ্মি যা এই মত চেহারা নির্মিত হয়:
|
। প্রতিটি স্তম্ভগুলির মধ্যে দুটির প্রয়োজন এবং সেগুলি অস্তিত্বের নীচে পর্যন্ত প্রসারিত হয়:_____________________________ Y || Y \ /\ || /\ /\/ \ /\ / \||/ \ /\/ \/ \/ \/ \/
যেহেতু ইনপুটটি পুরো পর্বতশ্রেণীর একটি অংশকেই কেবল ফ্রিওয়েটি তৈরি করতে হবে তার প্রতিনিধিত্ব করে, এটি হঠাৎ একটি ব্রিজ বা টানেলের মাঝখানে শেষ হতে পারে। দীর্ঘ সেতুর নিয়মটি এখনও চূড়ান্ত বিভাগের জন্য প্রযোজ্য এবং আপনি ধরে নিতে পারেন যে প্রদত্ত ইনপুটটির বাইরে প্রথম অংশটি আবার সেতুটিকে সমর্থন করে।
উপরের নিয়মগুলি অনুসরণ করে আমরা আমাদের ইনপুটটির জন্য নিম্নলিখিতটি পাই:
/\
/ \
/\ / \
/\ / \/ \
/ \ / \ /\
/____\/______________\ /__\
_________)______________________(________)(____)____(______
Y Y Y Y Y Y Y YY
\ / \ / \/ \/ \
\ / \ /
\/ \/
অক্ষর গণনা দ্বারা সংক্ষিপ্ততম কোড জিততে পারে। লাইনে শ্বেত স্পেস অনুসরণের বৈধতার জন্য অগ্রাহ্য করা হয়।
নমুনা ইনপুট 1
_
\ /\
\ / \
\ / \
\ /\ / \ /\ /
\ /\ / \ / \ /\ /\/ \ /
\ / \ / \/ \ / \/ \/\ /
\/ \ / \ / \/
\ / \/
\/
নমুনা আউটপুট 1
____________________________________________________________
Y || YY ||
\ || / \ ||
\ || / \ ||
\ || /\ / \ || /\ /
\ /\ || / \ / \ /\ |/\/ \ /
\ / \ || / \/ \ / \/ \/\ /
\/ \ || / \ / \/
\||/ \/
\/
নমুনা ইনপুট 2
/\ /\
/ \/ \ /
/\ / \ /\ /
/\ / \ / \/ \ /
/ \ / \/\ / \ /\ /
/ \/ \ / \ / \ /
_/ \ / \/ \/
\ /
\ /\/
\ /\ /
\/ \ /
\ /
\/
নমুনা আউটপুট 2
/\ /\
/ \/ \ /
/\ / \ /\ /
/\ / \ / \/ \ /
/ \ / \/\ / \ /\ /
/____\/________\ /__________________\ /__\ /____
_)________________(__________________)____________________()____()_____
Y || Y
\ || /\/
\ /\ || /
\/ \|| /
\| /
\/
বিঃদ্রঃ
রেফারেন্স সমাধানগুলির সাথে তুলনার জন্য আউটপুটে ট্রেলিং স্পেসগুলি উপেক্ষা করা হয়।
জয়ের শর্ত
গল্ফের রীতি অনুসারে সংক্ষিপ্ততম কোড জিতেছে। টাই করার ক্ষেত্রে আগের সমাধানটি জিততে পারে।
পরীক্ষার মামলা
দুটি পরীক্ষার স্ক্রিপ্ট রয়েছে যাতে অভিন্ন পরীক্ষার কেস থাকে:
অনুরোধ উভয় ক্ষেত্রে: <test script> <my program> [arguments]
যেমন ./test ruby bridges.rb
বা ./test.ps1 ./bridges.exe
।
আরেকটি নোট
এই কাজটি ২০১১-W24-এর সময় আমার বিশ্ববিদ্যালয়ে অনুষ্ঠিত একটি গল্ফ প্রতিযোগিতার অংশ ছিল। আমাদের প্রতিযোগীদের স্কোর এবং ভাষাগুলি নীচে ছিল:
- 304 - পার্ল
- 343 - সি
- 375 - সি
- 648 - পাইথন
আমাদের নিজস্ব সমাধান (ভেন্টোরোর ধন্যবাদ) ছিল
- 262 - রুবি