চূড়ান্ত অবস্থান
+ + ---------------------------------- + + --------- + + ---- ----- + + --------- + + ---------------------------- + + | নাম | স্কোর | উইনরেট | টাইরেট | নির্মূলের সম্ভাবনা | + + ---------------------------------- + + --------- + + ---- ----- + + --------- + + ---------------------------- + + | 1. সারকোমাবটএমকি 11 | 0.06333 | 6.13% | 0.41% | [42 24 10 8 6 4]% | | 2. উইজকিকবট | 0.06189 | 5.91% | 0.56% | [51 12 7 10 7 6]% | | 3. স্ট্রাইকারবট | 0.05984 | 5.78% | 0.41% | [46 18 11 8 6 5]% | | 4. পারফেক্টফ্রাকশনবট | 0.05336 | 5.16% | 0.35% | [49 12 14 10 6 4]% | | 5. মেহরানবট | 0.05012 | 4.81% | 0.41% | [57 12 8 7 6 5]% | | 6. ওগবোট | 0.04879 | 4.66% | 0.45% | [50 15 9 8 7 5]% | | 7. স্নেচবট | 0.04616 | 4.48% | 0.28% | [41 29 8 9 5 3]% | | 8. অ্যান্টিকিকবট | 0.04458 | 4.24% | 0.44% | [20 38 17 10 6 4]% | | 9. মেহবট | 0.03636 | 3.51% | 0.25% | [80 3 4 4 3 3]% | | 10. Meh20Bot | 0.03421 | 3.30% | 0.23% | [57 12 8 7 9 3]% | | 11. জেনেরিকবট | 0.03136 | 3.00% | 0.28% | [18 39 20 11 5 3]% | | 12. হার্ডকোডবট | 0.02891 | 2.75% | 0.29% | [58 21 3 6 5 4]% | | 13. গ্যাংবোট 1 | 0.02797 | 2.64% | 0.32% | [20 31 35 6 3 2]% | | 14. সারকোমাবটএমকে 3 | 0.02794 | 2.62% | 0.34% | [16 15 38 17 7 4]% | | 15. গ্যাংবট0 | 0.02794 | 2.64% | 0.30% | [20 31 35 6 3 2]% | | 16. গ্যাংবট 2 | 0.02770 | 2.62% | 0.31% | [20 31 35 6 3 2]% | | 17. টিটিটবট | 0.02740 | 2.63% | 0.21% | [54 10 15 10 5 2]% | | 18. মাতাহারি 2 বট | 0.02611 | 2.35% | 0.51% | [39 26 11 11 6 5]% | | 19. পলিবট | 0.02545 | 2.41% | 0.27% | [53 18 6 13 5 3]% | | 20. স্পিটবলবট | 0.02502 | 2.39% | 0.22% | [84 10 1 1 0 1]% | | 21. স্কয়ারআপবট | 0.02397 | 2.35% | 0.10% | [10 60 14 7 4 3]% | | 22. সাবধানী জুয়ারবোট 2 | 0.02250 | 2.19% | 0.13% | [60 18 10 5 3 1]% | | 23. বট 13 | 0.02205 | 2.15% | 0.11% | [90 0 2 3 2 1]% | | 24. অ্যাগ্রোক্যালকবট | 0.01892 | 1.75% | 0.29% | [26 49 13 5 3 3]% | | 25. সাবধানবাট | 0.01629 | 1.56% | 0.14% | [15 41 27 11 4 1]% | | 26. কোস্টবোটভি 2 | 0.01413 | 1.40% | 0.02% | [83 12 3 1 0 0]% | | 27. ক্যালকুলেটিংবট | 0.01404 | 1.29% | 0.22% | [87 9 1 1 1 1]% | | 28. হাফপঞ্চবট | 0.01241 | 1.15% | 0.18% | [47 20 13 12 5 2]% | | 29. হাফলাইফ এস 3 বট | 0.01097 | 1.00% | 0.20% | [76 9 5 4 2 2]% | | 30. অ্যান্টিগ্যাংবট | 0.00816 | 0.76% | 0.11% | [94 1 1 1 1 1]% | | 31. জ্যামিতিকবট | 0.00776 | 0.74% | 0.07% | [19 46 25 7 2 1]% | | 32. গেসবট | 0.00719 | 0.05% | 1.34% | [65 17 4 6 5 3]% | | 33. সীমানা র্যান্ডমবট | 0.00622 | 0.60% | 0.05% | [42 39 12 5 2 0]% | | 34. স্প্রেডারবট | 0.00549 | 0.54% | 0.02% | [32 43 19 4 1 0]% | | 35. ডিটারমিনবট | 0.00529 | 0.45% | 0.16% | [22 41 20 11 4 2]% | | 36. পারসেন্টবট | 0.00377 | 0.38% | 0.00% | [85 8 4 2 1 0]% | | 37. হালভিস্টেস্টবট | 0.00337 | 0.29% | 0.08% | [32 43 15 6 2 1]% | | 38. গেটএলংবট | 0.00330 | 0.33% | 0.01% | [76 18 4 1 0 0]% | | 39. বান্দাইদবট | 0.00297 | 0.29% | 0.02% | [76 9 10 4 1 0]% | | 40. টেনেসিয়াসবট | 0.00287 | 0.29% | 0.00% | [94 4 1 0 0 0]% | | 41. বেঁচে থাকা | 0.00275 | 0.25% | 0.04% | [92 6 1 0 0 0]% | | 42. র্যান্ডমবট | 0.00170 | 0.13% | 0.07% | [42 36 14 5 2 1]% | | 43. আগ্রাসীবাউন্ডআরডমবটভি 2 | 0.00165 | 0.14% | 0.06% | [8 46 34 9 2 1]% | | 44. ব্লাডবট | 0.00155 | 0.01% | 0.30% | [65 28 5 1 1 0]% | | 45. আউটবিডবট | 0.00155 | 0.03% | 0.25% | [65 6 21 6 1 1]% | | 46. বক্সবট | 0.00148 | 0.10% | 0.09% | [10 51 33 5 1 1]% | | 47. লাস্টবট | 0.00116 | 0.08% | 0.07% | [74 6 16 2 1 0]% | | 48. UpYoursBot | 0.00088 | 0.07% | 0.03% | [37 40 17 5 1 0]% | | 49. অ্যাভারেজবট | 0.00073 | 0.06% | 0.03% | [74 3 10 10 2 0]% | | 50. প্যাথ্যাটিকবট | 0.00016 | 0.01% | 0.02% | [94 0 5 1 0 0]% | | 51. ওভারফিটেডবট | 0.00014 | 0.01% | 0.00% | [58 40 2 0 0 0]% | | 52. রবিবোট | 0.00009 | 0.01% | 0.00% | [32 41 24 2 0 0]% | | 53. সবচেয়ে খারাপ কেসবোট | 0.00002 | 0.00% | 0.00% | [4 71 23 2 0 0]% | | 54. স্মার্টবট | 0.00002 | 0.00% | 0.00% | [44 51 5 0 0 0]% | | 55. এএএএইউইপওয়াইরসবট | 0.00000 | 0.00% | 0.00% | [40 58 2 0 0 0]% | | 56. কিকবানবট | 0.00000 | 0.00% | 0.00% | [67 32 1 0 0 0]% | | 57. ওয়ানশটবট | 0.00000 | 0.00% | 0.00% | [2 95 3 0 0 0]% | | 58. কিকবট | 0.00000 | 0.00% | 0.00% | [100 0 0 0 0 0]% | | 59. কামিকাজেবট | 0.00000 | 0.00% | 0.00% | [100 0 0 0 0 0]% | | 60. মিনিকিকবট | 0.00000 | 0.00% | 0.00% | [100 0 0 0 0 0]% | + + ---------------------------------- + + --------- + + ---- ----- + + --------- + + ---------------------------- + +
যারা অংশগ্রহণ করেছেন তাদের জন্য ধন্যবাদ, এবং জয়ের জন্য @ সারকোমাকে অভিনন্দন!
নিয়মাবলী:
সবাই 100 এইচপি দিয়ে শুরু করে। প্রতি রাউন্ডে, প্রতিযোগীদের পুল থেকে এলোমেলোভাবে 2 জন খেলোয়াড় বেছে নেওয়া হয় যারা এখনও এই রাউন্ডে অংশ নেয়নি। উভয় খেলোয়াড় 0 এবং তাদের বর্তমান এইচপি এর মধ্যে একটি সংখ্যা বাছাই করে এবং একই সাথে এই সংখ্যাগুলি প্রকাশ করে। যে খেলোয়াড় কম নম্বরটি বেছে নিয়েছিল তা সঙ্গে সঙ্গে মারা যায়। অন্য খেলোয়াড় তাদের নির্বাচিত নম্বরটি তাদের অবশিষ্ট এইচপি থেকে বিয়োগ করে পরবর্তী রাউন্ডে যান।
টুর্নামেন্টটি এর মতো কাজ করে:
প্রতিযোগীদের বন্ধনী থেকে 2 জন এলোমেলোভাবে বেছে নেওয়া হয়। তারা মুখ বন্ধ করে দেয় এবং তাদের মধ্যে একজন বা দু'জন মারা যায়। একজন খেলোয়াড় মারা যায় যদি:
- তারা তাদের প্রতিপক্ষের চেয়ে ছোট একটি সংখ্যা নির্বাচন করে
- তাদের এইচপি শূন্য বা তার নিচে নেমে যায়
- তারা প্রতিপক্ষের সাথে টানা তিনবার টাই করে
সম্পর্কের ক্ষেত্রে, উভয় খেলোয়াড়ই কেবল 3 বার পর্যন্ত নতুন সংখ্যা তৈরি করে। ফেসঅফের পরে, বেঁচে থাকা (যদি থাকে) পরবর্তী রাউন্ডের জন্য পুলটিতে সরানো হয় এবং আমরা বর্তমান রাউন্ড পুলটি শেষ না করা পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করে। যদি পুলটিতে বিজোড় সংখ্যা থাকে তবে বিজোড় একটিকে পরের রাউন্ডে বিনামূল্যে নিয়ে যায়।
আপনার কাজটি হল পাইথন ২. in এ একটি ফাংশন লিখুন যা আপনার বর্তমান হিসাবে উপস্থিত তথ্য hp
, আপনার প্রতিপক্ষের বিডের একটি তালিকা history
এবং একটি পূর্ণসংখ্যা ties
যা আপনাকে বলে দেয় যে আপনি ইতিমধ্যে আপনার বর্তমান প্রতিপক্ষের সাথে কতবার বেঁধে রেখেছেন, এবং একটি পূর্ণসংখ্যা যা আপনাকে বলে যে কীভাবে অনেকগুলি বট এখনও রয়েছে alive
(আপনাকে সহ), এবং একটি পূর্ণসংখ্যা যা start
টুর্নামেন্টে বটের সংখ্যা তালিকাভুক্ত করে । দ্রষ্টব্য যে ইতিহাসের সাথে সম্পর্কগুলি অন্তর্ভুক্ত নয়। ফাংশনটি অবশ্যই 0 এবং আপনার বর্তমান মোট এইচপি এর মধ্যে একটি পূর্ণসংখ্যা ফেরত দেয়। কয়েকটি সহজ উদাহরণ, যা বন্ধনগুলি উপেক্ষা করে, নীচে দেখানো হয়েছে:
def last(hp, history, ties, alive, start):
''' Bet a third of your hp at first, then bet your opponent's last bid, if possible '''
if history:
return np.minimum(hp-1, history[-1])
else:
return hp/3
def average(hp, history, ties, alive, start):
''' Bet the average opponent's bid so far, on the assumption that bids will tend downward '''
if history:
num = np.minimum(hp-1, int(np.average(history))+1)
else:
num = hp/2
return num
def random(hp, history, ties, alive, start):
''' DO YOU WANT TO LIVE FOREVER?! '''
return 1 + np.random.randint(0, hp)
যদি আপনার ফাংশনটি আপনার এইচপি এর চেয়ে বড় একটি সংখ্যা ফেরত দেয় তবে এটি 0 এ পুনরায় সেট করা হবে Yes হ্যাঁ, নিজেকে হত্যা করা সম্ভব। আপনার ফাংশনটিতে রুলেটবট শ্রেণীর কোনও অবজেক্টের কোনও সদস্যকে অ্যাক্সেস বা সংশোধন করার চেষ্টা করা উচিত নয়। ভবিষ্যতের অতিরিক্ত বট নির্বিশেষে আপনার প্রতিপক্ষকে নির্বিঘ্নে চিহ্নিত করে এমন কোনও পদক্ষেপ নেওয়ার আপনাকে অনুমতি নেই। স্ট্যাকটি পরিদর্শন করা ততক্ষণ অনুমোদিত যখন তাত্ত্বিকভাবে সম্ভব যে একাধিক স্বতন্ত্র প্রতিদ্বন্দ্বী এটি থেকে আপনার সংগ্রহ করা তথ্য তৈরি করতে পারত, এমনকি যদি কেবলমাত্র একটি বট বর্তমানে উপস্থিত থাকে তবে। অর্থাত্, শত্রুর কোন ক্রিয়াকলাপ ডাকা হয়েছিল তা দেখতে আপনি কেবল স্ট্যাকের মাধ্যমে পড়তে পারবেন না।
এই নিয়মের অধীনে এটি সম্ভব যে কোনও বিজয়ী নেই, এবং শেষ দুটি প্রতিযোগী একে অপরকে হত্যা করে। সেক্ষেত্রে উভয়ই চূড়ান্ত প্রতিযোগী অর্ধেক পয়েন্ট পান।
এটি আমার প্রথম প্রোগ্রামিং ধাঁধা প্রচেষ্টা, তাই সমালোচনা স্বাগত!