ইন্ট্রো
f A\/
যেমন চরিত্রগুলির একটি গ্রিড বিবেচনা করুন
f f f
A
A / \
\ / A
A \/
/
\/
কোথায়:
f
পানির স্রোতকে নীচের দিকে oursেলে এমন একটি কলকে প্রতিনিধিত্ব করেA
উপরের জলের ধারাটি বিভক্ত করে ঠিক ঠিক অর্ধেক বাম দিকে যায় এবং ঠিক অর্ধেকটি ডানদিকে যায় goes\
উপরের জলের ধারাটি এক ইউনিট দ্বারা ডানদিকে সরান to/
জলের স্রোতটিকে এক ইউনিট দ্বারা বাম দিকে স্থানান্তরিত করে- সংমিশ্রণগুলি
\/
অসীম ক্ষমতা সহ একটি গর্ত তৈরি করে যা তার উপরে জল প্রবাহগুলি সংগ্রহ করে [space]
জলের মধ্য দিয়ে যেতে পারার চেয়ে ফাঁকা জায়গা
এ থেকে আমরা কল্পনা করতে পারি যে জল ( *
) নল থেকে বেরিয়ে আসে এবং গর্তের মধ্যে পড়েছে বা গ্রিডের অঞ্চল থেকে পড়ে যাবে:
f f f <-- first second and third faucets
* * *A*
* *A*/ \*
\*/ * *A <-- a '*' is not drawn to the right of this A because it would be out of the 9×7 bounds
* *A*\/ <-- upper trough
**/ *
\/ * <-- lower trough
3 টি কল আউটপুট ধরে একবারে একই পরিমাণে জল একসাথে আমরা দেখতে পাচ্ছি
- প্রথম কলের সমস্ত জল নীচের গর্তে যায়।
- দ্বিতীয় কলটির জলের এক অর্ধেক অংশ নিম্ন গর্তে যায় এবং অন্য অর্ধেকটি নিম্ন গর্তের মধ্যে বিভক্ত হয়ে গ্রিড থেকে পড়ে যায়।
- তৃতীয় কলয়ের জলের এক চতুর্থাংশ নীচের গর্তে যায়, এক চতুর্থাংশ গ্রিডের নীচে থেকে পড়ে যায়, এক চতুর্থাংশ উপরের গর্তে যায় এবং এক চতুর্থাংশ গ্রিড থেকে ডানদিকে পড়ে।
এ থেকে আমরা বলতে পারি যে (1 + 3/4 + 1/4 + 1/4) / 3 = 75%
জলের গর্তটি ধরা (1/4 + 1/4 + 1/4) / 3 = 25%
পড়ে এবং গ্রিড থেকে পড়ে।
চ্যালেঞ্জ
আপনি এই ASCII জল প্রবাহ সেটআপ সম্পর্কিত এই যে কোনও একটি বা সমস্ত চ্যালেঞ্জ সম্পূর্ণ করতে পারেন। তারা সমস্ত কোড-গল্ফ, প্রতিটি চ্যালেঞ্জের জন্য সংক্ষিপ্ত উত্তরটি হ'ল বিজয়ী। গৃহীত উত্তরটি সেই ব্যক্তিই হবেন যিনি টাই-ব্রেকার হিসাবে মোট কোড দৈর্ঘ্য সহ সর্বাধিক চ্যালেঞ্জগুলি পূর্ণ করেন।
চ্যালেঞ্জ 1
একটি প্রোগ্রাম লিখুন যা প্রদত্ত গ্রিডের জলে ভরাট জলের ভগ্নাংশকে বহন করে। উপরের উদাহরণটির আউটপুটটি সহজভাবে হবে 0.75
।
চ্যালেঞ্জ 2
একটি প্রোগ্রাম লিখুন যা একটি গ্রিড দেওয়া হয়েছে, *
আমি উপরে যেভাবে কাজ করেছি সেখানে জল প্রবাহিত করে। স্পেস অক্ষর ছাড়াও আপনার কোনও কিছুই ওভাররাইট করা উচিত নয় এবং গ্রিডের আকার পরিবর্তন করা উচিত নয়। তাই কিছু জন্য
f
/A
যেহেতু কিছুই করার দরকার নেই, যদিও এ এর দুপাশে জল প্রবাহিত হচ্ছে, এটি অপসারণ ছাড়া বাম দিকে /
টানা যাবে না এবং এটি 2 × 2 গ্রিডটি বড় না করে ডানদিকে টানা যাবে না।
চ্যালেঞ্জ 3 (আপডেট)
এমন একটি প্রোগ্রাম লিখুন যা দুটি অ-নেতিবাচক পূর্ণসংখ্যার মধ্যে নিয়ে যায়, মোট টি এবং কে (টি> = কে) রাখার পরিমাণ। ঠিক একইরকম একটি গ্রিড তৈরি করুন এবং আঁকুন f
যে যখন সেই কলটি পানির টি ইউনিটগুলি pেলে দেয়, তখন ঠিক কে খাদে প্রবাহিত হয়। যদি কোনও নির্দিষ্ট (টি, কে) জুটির জন্য সীমাবদ্ধ গ্রিডে এটি করা অসম্ভব হয় তবে আউটপুট 'ইম্পসিবল'।
স্পষ্টকরণ (সমস্ত চ্যালেঞ্জের ক্ষেত্রে প্রযোজ্য)
- ইনপুট স্টিডিন, বা একটি ফাইল, বা এমনকি গ্রিডের স্ট্রিং উপস্থাপনার জন্য কোনও ফাংশন কলের মাধ্যমে হতে পারে। কীভাবে বিভিন্ন ইনপুট চালানো যায় তা কেবল এটি সুস্পষ্ট করুন।
- আউটপুট অবশ্যই stdout যেতে হবে।
\A
এবংA/
এবংAA
এছাড়াও পাত্র হিসাবে আপনি আশা করতে চাই আছে।- ডাব্লু বাই এইচ গ্রিড সর্বদা ডাব্লু * এইচ অক্ষরের একটি ভাল ফর্ম্যাটড আয়তক্ষেত্র হবে যা নিউলাইনগুলি গণনা করছে না। কোনও অনুপস্থিত ট্র্যাকিং স্পেস এবং কোনও ঘটনা ঘটবে না
*
। - গ্রিডের মাত্রা 1 × 1 এর মতো ছোট এবং নির্বিচারে বড় হতে পারে। (স্বতঃস্ফূর্তভাবে কারণের মধ্যে বড়, ইনটম্যাক্সভ্যালু বা এর মতো একটি গ্রহণযোগ্য সীমা T একইভাবে টি এবং কে এর জন্য যায়))
- এর উপর
f
দিয়ে প্রবাহিত একটি স্রোতের উপরে । - কল কেবল উপরের সারিতে নয়, যে কোনও জায়গায় থাকতে পারে।
A
সর্বদা তার উপর waterেলে দেওয়া পরিমাণের পরিমাণ ঠিক অর্ধেক ভাগ করে।
দ্রষ্টব্য: পছন্দ মত /A
এবং //
পুরোপুরি বৈধ। পানি নেই অবাধে অক্ষরের মধ্যে প্রবাহিত (পর্যাপ্ত রুম এটা আঁকা নয় চ্যালেঞ্জ 2 জন্য যদিও)।
সুতরাং, সেটআপে
ff
/A
বাম f
স্রোতটি নীচে oursুকে পড়ে, হিট দেয় /
এবং বামে স্থানান্তর । ডান f
প্রবাহটি নীচে oursুকে পড়ে, হিট দেয় A
, অর্ধেক ডানদিকে যায় এবং অর্ধেকটি বাম দিকে যায় A
এবং /
।
যেমন
ff
**
*/A*
** *
** *
/A
যে জলের উপর দিয়ে জল পড়ে A
। সমস্ত চ্যালেঞ্জের জন্য, \A
গর্ত কিনা তা স্পষ্ট করে বলা ভাল । তৃতীয় চ্যালেঞ্জের জন্য, নেমে আসা 3 টি ইউনিটকে A
বিভাজন হিসাবে ধরে নেওয়া উচিত 1.5 / 1.5
(সুতরাং ইনপুটটি আসলে একক যুক্তিযুক্ত সংখ্যা) বা এটি 2 / 1
, কোন ক্ষেত্রে কোন পক্ষটি গ্রহণ করে 2
?
A
তারপর উভয় পক্ষের 1.5 নিশ্চিত ভাসা স্পষ্টতা কোনো সমস্যা হয় না করতে পেতে পারি এটা আপ সংকেতপদ্ধতিরচয়িতা করতে।।)
f
এস