ভূমিকা
আপনি কিছু চাকর নিয়ে নির্জন দ্বীপে আটকা পড়েছেন এবং ধনের খোঁজ করছেন। লম্বা একটি অনুসন্ধান করে, তত বেশি ধন খুঁজে পাওয়া যায়। যত লোক অনুসন্ধান করবে, তত বেশি লোক খুঁজে পাবে।
সীমিত সরবরাহের কারণে, নেতা সিদ্ধান্ত নিয়েছেন যে এই গোষ্ঠীর এক চতুর্থাংশ লোককে প্রতি রাতে মারা যেতে হবে। সময়ের আগে যে কোনও দিন ঠিক কত লোক মারা যাবে তা কাউকে না জানাতে তিনি সিদ্ধান্ত নিয়েছেন।
আপনি 5 জনের একটি ছোট গোষ্ঠীর নিয়ন্ত্রণে আছেন, যারা আপনার জন্য ধন খুঁজে পাওয়ার জন্য শিবিরের বাইরে চলে।
উদ্দেশ্য
এই প্রতিযোগিতার উদ্দেশ্য যতটা সম্ভব ধন সংগ্রহ করা। আপনার দাসরা প্রতিটি শিবিরে ফিরে যাওয়ার চেষ্টা না করে, তারা একটি নির্দিষ্ট সংখ্যক ধন খুঁজে পাবে। আপনার চাকররা বিভিন্ন সময়ে শিবিরে ফিরে আসতে পারে।
প্রতিটি টার্ন যে কোনও শ্রমিক ধন অনুসন্ধানের জন্য বাইরে থাকে, শ্রমিক 1+R
ধনসম্পদের টুকরো খুঁজে পায় , যেখানে R
শিবিরে কর্মীদের সংখ্যা (সমস্ত বটগুলির মধ্যে) ইতিমধ্যে ফিরে এসেছে। মৃত বটগুলি এই গণনায় ফ্যাক্টর করে না।
প্রতিটি দিনের শুরুতে, একটি র্যান্ডম সংখ্যা ( n
) থেকে 2
থেকে max(3, floor(num_live_players/4))
মনোনীত করা হবে না। (1 দিন 10 খেলোয়াড়দের জন্য, এই হল 2
থেকে max(3,50/4)=12
। 1 দিনে 20 খেলোয়াড়দের জন্য, এই হবে 2
থেকে max(3,100/4)=25
।) এই সংখ্যা খেলোয়াড় যারা যে দিন জন্য মরতে ছেড়ে দেওয়া হবে সংখ্যা প্রতিনিধিত্ব করে আর আপনার প্রোগ্রাম না দেওয়া হবে ।
যদি কোনও চাকর n
ফিরে আসার শেষ লোকদের মধ্যে থাকে তবে সে মারা যাবে এবং যে ধন সে নিজের হাতে পেয়েছিল তা হস্তান্তর করতে অক্ষম হবে। তদ্ব্যতীত, চাকর বাকী অ্যাডভেঞ্চারের জন্য ট্রেজার শিকারে অংশ নিতে সক্ষম হবে না।
আপনার চূড়ান্ত স্কোরটি অ্যাডভেঞ্চারের জন্য আপনি অর্জন করা গড় পরিমাণের পরিমাণ (নিয়ন্ত্রকের রান)।
খোলা স্লট থাকার চেয়ে যদি বেশি লোক একই পালা শিবিরে ফিরে যাওয়ার চেষ্টা করে, তবে এলোমেলো সংখ্যা নির্ধারণ করবে যে কে getsুকে পড়ে এবং কে মারা যায়।
এই দ্বীপে সূর্যোদয় থেকে সূর্যাস্ত পর্যন্ত এক দিন 30 টার্ন থাকে। রাতে অনেক বিপজ্জনক প্রাণী রয়েছে বলে সূর্যাস্তের মাধ্যমে ফিরে আসতে ব্যর্থ হওয়ার অর্থ আপনাকে শিবিরে প্রবেশ করতে দেওয়া হবে না।
ইনপুট আউটপুট
আপনার প্রোগ্রামটি পুরো সিমুলেশনের জন্য চালানো উচিত।
সিমুলেশনটির শুরুতে, INDEX I
ইনপুট করা হবে, I
আপনার বটের সূচিটি কোথায় (এই সূচকটি 1 থেকে উপরে গণনা করা হয়)।
প্রতিটি দিনের শুরুতে, START_DAY D/N
আপনার প্রোগ্রামে ইনপুট করা হবে, কোথায় D
দিনটির সংখ্যা (শুরু থেকে 1
), এবং N
এর সমান max(3, floor(num_live_players/4))
, যা সেই বিশেষ দিনে মারা যাওয়ার সর্বাধিক সংখ্যক লোক।
প্রতিটি START_TURN T
টার্নের শুরুতে, আপনার প্রোগ্রামে ইনপুট করা হবে, যেখানে T
টার্ন নম্বর (শুরু থেকে 1
)।
আপনার প্রোগ্রামটি এটি পেয়ে গেলে এটি আপনার চাকরদের চালনার তালিকার সাথে প্রতিক্রিয়া জানানো উচিত, প্রতিটি কমা দ্বারা পৃথক।
বৈধ চলনগুলি হ'ল:
R
: ক্যাম্পে ফিরে যাওয়ার চেষ্টা করুন।S
: ধন সন্ধান করুন।N
: চাকর ইতিমধ্যে মারা গেছে বা শিবিরে।
একটি অবৈধ পদক্ষেপ প্রবেশ করাকে এমন ব্যাখ্যা করা হবে যেমন S
বট জীবিত এবং শিবিরে নয় এবং N
অন্যথায়।
প্রতিটি ঘুরে শেষে, আপনার প্রোগ্রামে একটি স্ট্রিং দেওয়া হবে:
END_TURN [Turn #] [Bot 1 Moves] [Bot 2 Moves] ...
যেখানে প্রতিটি বটের চাকরের চালকদের কমা দিয়ে আলাদা করা হয়।
এই পদক্ষেপগুলি নিম্নলিখিতগুলির মধ্যে একটি হবে:
R
: সেই টার্নে সাফল্যের সাথে ক্যাম্পে ফিরে এসেছিল।r
: সেই টার্নে শিবিরে ফিরতে ব্যর্থ।S
: তবুও ধন সন্ধান করছি।D
: আগের টার্নে মারা গেছে।N
: ইতিমধ্যে ক্যাম্প ফিরে।
পুরো সিমুলেশন জুড়ে বট এবং চাকররা একই ক্রমে থাকে।
উদাহরণ স্বরূপ:
INDEX 2
....
END_TURN 8 N,N,N,N,N r,r,r,r,D D,D,D,N,R S,D,D,N,D
এখানে, আপনি দ্বিতীয় বট ( r,r,r,r,r
), যিনি এখনও বেঁচে থাকা চারটি চাকরকে ফিরিয়ে দেওয়ার চেষ্টা করেছিলেন (এবং চারিদিকে দুর্ভাগ্যক্রমে ব্যর্থ হয়েছেন)। বট 1 এর চাকররা সবাই শিবিরে ফিরে এসেছে। বট 3 এর তিনটি মৃত চাকর রয়েছে, একজন আবার শিবিরে ফিরেছেন এবং পঞ্চম চাকর যিনি সফলভাবে ফিরে এসেছেন। বট 4 এর এক চাকর রয়েছেন যারা রয়েছেন (এবং মারা যাবেন, কারণ এটি একটি দিনের শেষ পালা), শিবিরে একজন চাকর এবং তিনজন মৃত চাকর রয়েছে।
এই প্রতিটি স্ট্রিংয়ের পরে, দিনের শেষের সংকেতযুক্ত কোনও স্ট্রিংও যদি আউটপুট না করা হয় (নীচে দেখুন), আপনার প্রোগ্রামটি আপনার চাকরদের পরবর্তী পদক্ষেপগুলি কমা দ্বারা পৃথক করা হবে। সমস্ত চাকরকে অবশ্যই জবাবদিহি করতে হবে ( N
যদি ইতিমধ্যে শিবিরে D
থাকে এবং যদি ইতিমধ্যে মারা যায়)। অবৈধ পদক্ষেপগুলি এমন আচরণ করা হবে যেমন S
চাকর ইতিমধ্যে শিবিরে / মৃত অবস্থায় নেই। উদাহরণ:
N,N,S,S,R
যার অর্থ:
Servant # | Action
1 | Do nothing.
2 | Do nothing.
3 | Stay put (keep looking for treasure).
4 | Stay put (keep looking for treasure).
5 | Try to return to camp.
একদিনের শেষে, শেষ END
পাতার স্ট্রিংয়ের পরে নিম্নলিখিত স্ট্রিংটি কেটে যাবে , কে বেঁচে আছে তা সবাইকে জানিয়ে দিবে :
END_DAY [Day #] [Bot 1 Status] [Bot 2 Status]
যেখানে স্ট্যাটাসটি A
(জীবিত) বা D
(মৃত) কমা দ্বারা বিচ্ছিন্ন তালিকা । পরের দিন অবিলম্বে শুরু হয়।
সিমুলেশনটি শেষ হয় যখন 6 টিরও কম লাইভ চাকর থাকে। আপনার প্রোগ্রাম সিমুলেশন শেষে নিম্নলিখিত ইনপুট পাবেন:
EXIT
বিধি / বিবরণ
- আপনার ক্রিয়া যেখানে কেবল সেই স্থানেই
S
আপনি ধন খুঁজে পাবেন। - সিমুলেশনের সংখ্যা: 1000 বার
- আপনার প্রোগ্রামটি চালগুলি নির্ধারণ করতে 1 সেকেন্ডের বেশি সময় নেওয়া উচিত নয়।
- আপনার প্রোগ্রামটি প্রারম্ভিক প্রস্থান করা উচিত নয়; এটি ঠিক একবার শুরু করা হবে।
- নিশ্চিত হয়ে নিন যে প্রতিটি আউটপুট পরে আউটপুট বাফার (প্রযোজ্য ক্ষেত্রে) ফ্লাশ করা হয়েছে।
- ফাইলগুলি আপনার বটের ফোল্ডারে লিখিত হতে পারে (
./players/BotName/
)। আপনার বট নামটি আপনার বোটের নাম হিসাবে যা কিছু আছে সমস্ত অক্ষর অক্ষর মুছে ফেলা এবং ক্যামেলকেসে লেখা রয়েছে। রানগুলি ক্রমান্বয়ে সম্পন্ন হওয়ায় এন্ট্রিগুলি নিয়ামকের রানগুলির মধ্যে ডেটা সংরক্ষণ করতে পারে। - আপনার প্রোগ্রাম পাওয়ার পরে অবশ্যই প্রস্থান করতে হবে
EXIT
। - যে প্রোগ্রামগুলি ত্রুটি সংকলন করতে বা ছোঁড়াতে ব্যর্থ হয় বা অবৈধ পাঠ্য আউটপুট দেয় (কমা দ্বারা আলাদা 5 টি অক্ষরের বিন্যাসে নয়) প্রতিযোগিতা থেকে বাদ দেওয়া যেতে পারে। একটি নতুন লাইন প্রতিটি আউটপুট অনুসরণ করা আবশ্যক।
- কন্ট্রোলারটি গিটহাবের সাথে পাওয়া যেতে পারে ।
দয়া করে বট নাম, ভাষা + সংস্করণ, কোড এবং সংকলন করতে কমান্ড অন্তর্ভুক্ত করুন (প্রযোজ্য ক্ষেত্রে) এবং আপনার বট চালান।
উদাহরণ
প্রোগ্রাম দ্বারা আউটপুট পাঠ্য এখানে একটি সঙ্গে উপসর্গ করা হয় >
। আপনার প্রোগ্রাম এই অক্ষর আউটপুট করা উচিত নয়।
INDEX 2
START_DAY 1/3
START_TURN 1
>S,S,S,S,S
END_TURN 1 S,R,S,S,S S,S,S,S,S
START_TURN 2
>S,S,S,S,S
END_TURN 2 S,N,S,R,S S,S,S,S,S
START_TURN 3
>R,R,S,S,S
END_TURN 3 R,N,R,N,R R,R,S,S,S
START_TURN 4
>N,N,S,S,S
END_TURN 4 N,N,N,N,N N,N,S,S,S
START_TURN 5
>N,N,R,R,R
END_TURN 5 N,N,N,N,N N,N,r,r,R
END_DAY 1 A,A,A,A,A A,A,D,D,A
START_DAY 2/3
START_TURN 1
>S,S,N,S,N
END_TURN 1 R,R,R,R,R S,S,D,D,N
END_DAY 2 A,A,A,A,A D,D,D,D,D
EXIT
উপরের উদাহরণের জন্য স্কোরগুলি হ'ল:
Bot# Day 1 Day 2 Total
1 10 0 10
S1 1+2 0 3
S2 0 0 0
S3 1+2 0 3
S4 1 0 1
S5 1+2 0 3
2 20 0 20
S1 1+2 0 3
S2 1+2 0 3
S3 0 0 0
S4 0 0 0
S5 1+2+3+8 0 14
বিজয়ী তাই খেলোয়াড়, বট 2। নোট করুন যে বিজয়ীর চূড়ান্ত শেষ পর্যন্ত টিকে থাকতে হবে না। (আরও লক্ষ করুন যে প্লেয়ারটি প্রথম দিন 30 বছর বয়সী না হওয়া পর্যন্ত থাকতে পারত, যেহেতু প্লেয়ার আরও একটি বট ফেরত না পাঠানো পর্যন্ত ক্যাম্পটি পূর্ণ হত না)।
স্কোর
Bot Score
Bob 2939.422
Statisticians 2905.833
Morning Birds 1652.325
Evolved 1578.285
Slow Returners 1224.318
Wandering Fools 1065.908
Randomizers 735.313
Drunkards 0
Plague 0
লগগুলি গিটহাবে পাওয়া যায় । প্রতিটি ট্রায়াল প্রতি ফলাফল এই গুগল স্প্রেডশিটে উপলব্ধ ।