Ví dụ chạy thêm 4/11
Làm rõ quy tắc 4/8: Tất cả các bài dự thi sẽ được thi đấu trong một giải đấu miễn phí khổng lồ bao gồm nhiều trận đấu mà máy tính của tôi có thể thực hiện trong 48 giờ.
Bất cứ ai dành thời gian xem stream trên Twitch đều biết về sự phổ biến của DeepBot và thậm chí có thể quen thuộc với trò chơi cá cược Bank Heist . Giải đấu King of the Hill này được lấy cảm hứng trực tiếp từ trò chơi đó. Đừng lo lắng, mặc dù. Tôi nghĩ rằng tôi đã ném đủ các nút thắt vào phiên bản này để giữ cho mọi thứ thú vị.
Một ví dụ nhanh
#####GAME 13: 16 players######
Round 1:
gunHeCK bet 0.
PassivePanga bet 69.
SnitcherKing bet 1.
Lurker bet 0.
OC'sRandomTpyos bet 1.
MonisAddiction bet 69.
RaysFive01K bet 28.
LimeadeSneaktar bet 1.
KaylorrCriterion bet 0.
HardHatUmar bet 0.
HeCKuSumer bet 185.
Round 2
HeCKuSumer decided to !guncheck.
LimeadeSneaktar decided to double cross.
MonisAddiction decided to all in.
OC'sRandomTpyos decided to acquire intel.
RaysFive01K decided to deposit.
SnitcherKing decided to finger.
PassivePanga decided to !guncheck.
Results
PassivePanga failed. :(
SnitcherKing failed. :(
OC'sRandomTpyos was successful, and may gain ¥0
MonisAddiction failed. :(
RaysFive01K was successful, and may gain ¥0
LimeadeSneaktar was successful, and may gain ¥1
HeCKuSumer failed. :(
Results:
0. KaylorrCriterion: 3600
1. Lurker: 3600
2. gunHeCK: 3600
3. SnitcherKing: 3586
4. PassivePanga: 2634
5. LimeadeSneaktar: 2496
6. HeCKuSumer: 1909
7. HardHatUmar: 490
8. RaysFive01K: 255
9. OC'sRandomTpyos: 170
10. MonisAddiction: 0
(In this round, 7 players joined the heist, but the dice only rolled right for 3 of them. Of those, only LimeadeSneaktar brought any home--having stolen it from OcsRandomTpyos. RaysFive01K won significantly more, but deposited it all at the bank before leaving. At this point, the players who did not heist are doing well, living off their day jobs.)
#####GAME 14: 231 players######
Round 1:
Lurker bet 0.
HeCKuSumer bet 190.
KaylorrCriterion bet 0.
HardHatUmar bet 0.
MonisAddiction bet 0.
OC'sRandomTpyos bet 1.
gunHeCK bet 0.
LimeadeSneaktar bet 1.
RaysFive01K bet 25.
PassivePanga bet 69.
SnitcherKing bet 1.
Round 2
PassivePanga decided to !guncheck.
OC'sRandomTpyos decided to buy guard.
HeCKuSumer decided to !guncheck.
SnitcherKing decided to finger.
RaysFive01K decided to deposit.
LimeadeSneaktar decided to double cross.
Results
HeCKuSumer failed. :(
OC'sRandomTpyos failed. :(
LimeadeSneaktar failed. :(
RaysFive01K failed. :(
PassivePanga failed. :(
SnitcherKing failed. :(
Results:
0. KaylorrCriterion: 3840
1. Lurker: 3840
2. gunHeCK: 3840
3. SnitcherKing: 3825
4. PassivePanga: 2805
5. LimeadeSneaktar: 2495
6. HeCKuSumer: 1959
7. HardHatUmar: 490
8. MonisAddiction: 240
9. RaysFive01K: 229
10. OC'sRandomTpyos: 161
Six players heisted--but should have been paying more attention to the rabble and backed out, because the probabilities dropped too low to win, and all failed.
#####GAME 15: 300 players######
Round 1:
OC'sRandomTpyos bet 1.
Lurker bet 0.
SnitcherKing bet 1.
MonisAddiction bet 69.
LimeadeSneaktar bet 1.
gunHeCK bet 0.
HardHatUmar bet 0.
RaysFive01K bet 22.
KaylorrCriterion bet 0.
HeCKuSumer bet 195.
PassivePanga bet 69.
Round 2
HeCKuSumer decided to !guncheck.
OC'sRandomTpyos decided to buy guard.
MonisAddiction decided to all in.
PassivePanga decided to !guncheck.
LimeadeSneaktar decided to double cross.
RaysFive01K decided to deposit.
SnitcherKing decided to finger.
Results
OC'sRandomTpyos failed. :(
SnitcherKing failed. :(
MonisAddiction was successful, and may gain ¥0
LimeadeSneaktar failed. :(
RaysFive01K failed. :(
HeCKuSumer failed. :(
PassivePanga failed. :(
And here, the probabilities dropped too low to win again--except for MonisAddiction, who went all in, and therefore avoided the probability modification incurred by the rabble backing out. No winnings are listed here, because a player who wins going all in immediately adds all winnings to its holdings without any possible modification by other players' actions.
Luật chơi
Cấu trúc giải đấu / trò chơi
- Giải đấu sẽ bao gồm một số trò chơi được chọn thống nhất ngẫu nhiên trong khoảng từ 1000 đến 1100, trong đó mọi bài dự thi nghiêm túc sẽ được thi đấu đồng thời trong một giải đấu miễn phí.
- Mỗi người chơi bắt đầu trò chơi đầu tiên với 240 tín dụng và mỗi trò chơi tiếp theo với số tín dụng đã có ở cuối trò chơi trước.
- Mỗi trò chơi tiến hành trong 2 vòng và trong mỗi vòng, người chơi được gọi theo thứ tự được xác định ngẫu nhiên để đưa ra một quyết định:
- Trong vòng đầu tiên, người chơi có thể trả bất kỳ số tín dụng nguyên nào từ 0 đến nắm giữ tín dụng hiện tại để tham gia vào một vụ cướp ngân hàng.
- Trong vòng thứ hai, mỗi người chơi được chọn tham gia vào vụ cướp bằng cách đặt cược ít nhất một tín dụng (sau đây gọi là "bá chủ") có thể quyết định cho phép đặt cược của mình (và, trong khi làm như vậy, có thể thực hiện một số hành động khác), từ chối vụ cướp, hoặc đi tất cả. (Các tùy chọn này được mô tả thêm dưới đây.)
- Dựa trên số lượng người thừa kế và tổng số tín dụng họ đã trả, một trong năm ngân hàng được chọn để thực hiện một vụ cướp. Lựa chọn này ảnh hưởng đến xác suất chiến thắng cá nhân và tỷ lệ cược được xác định. (Các ngân hàng được mô tả dưới đây.)
- Mỗi người chơi không từ chối sẽ, với xác suất (đã sửa đổi) của ngân hàng, sẽ giành được cổ phần nhân với tỷ lệ cá cược (sửa đổi) của ngân hàng (làm tròn xuống), nếu không sẽ mất cổ phần. Lưu ý rằng thành công hay thất bại của mỗi người chơi được xác định riêng - một số sẽ thành công khi người khác thất bại.
- Tất cả người chơi, cho dù họ có tham gia hay không, thành công hay thất bại, sau đó nhận được một mức lương (với các ngoại lệ được mô tả bên dưới).
- Lưu ý rằng không thể rời khỏi trò chơi vĩnh viễn. Tệ nhất, người chơi có thể phải đợi một trò chơi để nhận tiền lương tiếp theo.
- Sau tất cả 1000-1100 trò chơi, người chơi có số tín dụng lớn nhất sẽ được tuyên bố là người chiến thắng của giải đấu đó.
- Giải đấu sẽ được lặp lại với số lần không xác định (có thể tính toán trong 48 giờ) và thu nhập của người chơi trên tất cả các giải đấu được tổng hợp để xác định người chiến thắng chung cuộc của cuộc thi này.
Vòng cược thứ hai
- Bất kỳ người chơi nào đã đặt cược cổ phần tích cực trong vòng đầu tiên có thể tham gia vào vòng thứ hai.
- Trong vòng này, một người chơi có thể:
- trả lời với chuỗi "back out" để hủy đặt cược của nó. Điều này sẽ đặt mức cược của nó bằng 0 cho vụ cướp hiện tại và cũng giảm nhẹ xác suất người chơi còn lại trong vụ cướp sẽ thành công. Bằng cách sử dụng tùy chọn này, một người chơi đã bỏ qua 240 tiền lương tín dụng theo sau vụ cướp như hình phạt vì đã khiến những người thừa kế còn lại gặp nguy hiểm. (Các thừa kế còn lại sẽ thành công với xác suất bằng với xác suất của ngân hàng nhân với tỷ lệ các thừa kế không "rút lui".)
- trả lời với chuỗi "tất cả trong" để thổi bay toàn bộ nắm giữ tín dụng của mình - và nhận khoản vay thanh toán trong khoản thanh toán 240 tín dụng tiếp theo - để mua tất cả các thiết bị tốt nhất và thông tin cho một vụ trộm và đi một mình, súng nổ, mà không dựa vào ai Xác suất chiến thắng của một người chơi như vậy không thể bị ảnh hưởng bởi những người thừa kế khác rơi ra khỏi vụ cướp, và tiền thắng của nó cũng không thể bị đánh cắp bởi những kẻ vượt biên. Các khoản thanh toán chiến thắng sẽ được xác định như thể đặt cược của nó là toàn bộ nắm giữ tín dụng của nó cộng với 240, trong khi thua lỗ sẽ đặt tỷ lệ nắm giữ của nó bằng không.
- Trả lời với bất kỳ chuỗi nào khác (bao gồm cả chuỗi trống) để gắn bó với đặt cược trước đó và tiếp tục với vụ cướp như bình thường. (Đề nghị trả lời: "! Guncheck"). Một số câu trả lời sẽ có tác dụng phụ bổ sung:
- Trả lời "thay đổi công việc" sẽ khiến người chơi bỏ công việc. Bắt đầu từ vòng này, vào cuối mỗi vòng, người chơi sẽ có 5% cơ hội được thuê ở một vị trí mới. Nếu điều này thành công, người chơi được thuê và ngay lập tức nhận được tiền lương đầu tiên. Mỗi công việc mới được đảm bảo trả chính xác hơn 5% so với lần trước (làm tròn xuống). Hành động này sẽ thành công cho dù vụ cướp có thành công hay không.
- Câu trả lời của "mua lại intel", nếu vụ cướp thành công, khiến người chơi phải tiêu hết số tiền thắng cược của mình từ vụ trộm đó để nhận thêm 0,00001 mỗi tín dụng, do đó chi cho tỷ lệ cược cho ngân hàng chỉ dành cho người chơi đó . Điều chỉnh tỷ lệ cược này là vĩnh viễn. Ví dụ: nếu người chơi chọn hành động này khi chuyển khoản ngân hàng 1 và giành được 6969 tín dụng trong một vụ cướp, tỷ lệ cược của ngân hàng 1 cho người chơi đó sẽ tăng vĩnh viễn 0,06969 và người chơi sẽ không nhận được gì từ vụ trộm đó.
- Câu trả lời của "mua bảo vệ" sẽ khiến người chơi mua chuộc một trong những nhân viên bảo vệ tại ngân hàng bị đánh cắp. Để đổi lấy việc giảm vĩnh viễn 1 tín dụng trong tiền lương của người chơi đó (hối lộ thường xuyên của người bảo vệ), người chơi sẽ nhận được xác suất chiến thắng tăng "vĩnh viễn" tại ngân hàng đó (do người bảo vệ "quên đề cập" đến người chơi đó với cảnh sát khi yêu cầu). Xác suất sẽ tăng chính xác 1% chênh lệch giữa xác suất chiến thắng hiện tại của người chơi tại ngân hàng đó và 100%. Hành động này sẽ thành công ngay cả khi vụ cướp thất bại. LƯU Ý: Nếu bất cứ lúc nào, người chơi không có đủ tín dụng để trả tất cả các khoản hối lộ bảo vệ của mình, thì ngay lập tức và "vĩnh viễn" sẽ mất nhiều tiền thưởng xác suất như số tiền hối lộ không thể trả,
- Trả lời "tiền gửi" sẽ, nếu vụ cướp thành công, sẽ để lại toàn bộ số tiền thắng của người chơi trong một tài khoản tại ngân hàng bị trộm. Các khoản tín dụng sẽ không thể truy cập được cho bất kỳ mục đích nào và cũng không được tính vào điểm số của người chơi cho đến khi rút tiền. Tài khoản này sẽ trả lãi với tỷ lệ 0,14% mỗi trò chơi.
- Trả lời "rút tiền", nếu vụ cướp thành công, sẽ thêm vào tiền thắng cược của người chơi toàn bộ nội dung tài khoản của nó tại ngân hàng bị cướp. Kết quả là tài khoản sẽ bị xóa. Lưu ý rằng những chiến thắng bổ sung này có thể bị đánh cắp bởi những người vượt biên kép.
- Trả lời "chữ thập kép" sẽ thực hiện một trong hai điều sau:
- Nếu số lượng người thừa kế chơi "chữ thập kép" nhiều nhất là 1/10 (làm tròn xuống) trong tổng số người thừa kế không rùng rợn đã quyết định vượt qua vụ cướp (hoặc chính xác là một nếu có ít hơn 10 người chơi như vậy ), người chơi sẽ nhận được số tiền thắng thêm bằng tổng số tiền thắng của tất cả các lần vượt không chia đôi cho số lượng người vượt qua hai lần (làm tròn xuống). Tất cả những người không nhân đôi trong trường hợp này đều nhận được 0 tín dụng từ vụ cướp. Nói cách khác, những kẻ hai mặt đánh cắp tín dụng của người khác và chia đều cho chính họ.
- Nếu số lượng người chơi đã chơi "nhân đôi" vượt quá ngưỡng, người chơi sẽ không nhận được tiền thắng (nếu vụ cướp của nó thành công), hãy cắt giảm một nửa lương và bị đuổi việc. (Xem phần "thay đổi công việc".) Tất cả những người không nhân đôi (bao gồm cả rabble) trong trường hợp này sẽ nhận được một khoản thanh toán tiền thưởng cho tổng số tiền thắng của tất cả các nhân đôi được chia cho tổng số người không vượt qua hai lần. Nói cách khác, âm mưu trở nên quá lớn để giữ bí mật, những kẻ âm mưu đã bắt nguồn và loại trừ khỏi vụ cướp, và mọi người chia nhau tiền cược để trừng phạt - và danh tiếng của chúng đối với việc giao dịch bẩn cũng làm mất việc của chúng.
- Một câu trả lời của "ngón tay" (như trong "ngón tay của một con chuột vô lại hai mặt"), nếu kẻ trộm thành công, sẽ cho người chơi tám cơ hội (vẽ đồng nhất với sự thay thế từ bộ bầy đàn không rách rưới) để xác định một đôi crosser mà chưa được xác định .
- Mỗi người giao dịch kép được xác định theo cách này sẽ trả ngay cho người nhận 25% số tiền nắm giữ tín dụng hiện tại (làm tròn xuống) thay vì bị bắn, mất việc và bị cắt lương một nửa (vì ông chủ sẽ không tha thứ cho hành vi xấu) và mất 5% khả năng chiến thắng tại ngân hàng bị đánh cắp (vì những người thừa kế khác rất nghi ngờ trong tương lai và có khả năng ném nó xuống xe buýt nếu mọi thứ trở nên rối rắm). Double-crossers được xác định theo cách này không ảnh hưởng đến việc liệu cross-double có thành công cho các cross-double khác hay không, nhưng họ không nhận được bất kỳ khoản tín dụng bị đánh cắp nào từ cross-double, và cho biết các khoản tín dụng bị đánh cắp sẽ được phân phối lại cho người không đôi chéo.
- Nếu không có kẻ bắt chéo nào được xác định theo cách này, kẻ lừa đảo sẽ bị khâu vì lãng phí thời gian của mọi người - và cũng trả một nửa số tiền thắng của mình từ vụ cướp hiện tại, giảm 5% tiền lương của nó (ông chủ cắt giờ của tattletale) và mất 5% tỷ lệ cá cược của nó tại ngân hàng hiện tại (vì các nhà cái khác ít có khả năng hào phóng / công bằng với tiền thắng của họ trong tương lai). Do đó, một nửa số tiền thắng cược của nó bị mất sẽ được phân phối cho những người vượt biên kép không thành công nếu những người vượt qua hai lần thành công, hoặc những người không vượt qua hai lần (bao gồm cả rabble) nếu những người vượt qua hai lần thất bại.
Các ngân hàng
Ngân hàng được chọn sử dụng chỉ số numheisters + int(totalamountbet/100000)
, trong đó numheisters là số người chơi đặt cược cổ phần tích cực vào vòng 1 và Totalamountbet là tổng số tiền đặt cược của tất cả những người chơi đó. Nói cách khác, một trăm ngàn tín dụng tốt bằng 1 heister bổ sung. Dựa trên chỉ số này, một trong những ngân hàng sau sẽ được chọn, ngân hàng có ngưỡng cao nhất mà chỉ số đáp ứng hoặc vượt quá:
Bank Index Threshold Victory Prob. Bet Odds
---- --------------- ------------- --------
0:Municipal 0 0.540 0.80
1:City 20 0.488 1.10
2:State 40 0.425 1.30
3:National 60 0.387 1.65
4:Federal Reserve 80 0.324 1.95
Lưu ý rằng khi một giải đấu tiếp tục, xác suất đạt đến cấp ngân hàng cao nhất sẽ tăng lên, vì số tiền mỗi người chơi có thể đặt cược theo xu hướng trở lên. Cũng lưu ý rằng đây chỉ là các tỷ lệ cược và xác suất ban đầu , trước khi chúng được sửa đổi bởi bất kỳ hành động "mua intel" hoặc "mua bảo vệ" nào. Với xác suất và tỷ lệ cược ban đầu, chỉ có các ngân hàng Thành phố và Quốc gia có số tiền thắng dự kiến vượt quá mức thua lỗ dự kiến.
Con thỏ
- Giải đấu cũng có 500 người chơi khác, được gọi là "rabble", người tham gia như những người chơi thường xuyên trong vụ cướp nhưng cuối cùng không được ghi bàn. Chúng phục vụ để làm cho mỗi trò chơi khác nhau và có phần ít dự đoán hơn và giúp có thể tiếp cận với các ngân hàng rủi ro hơn / bổ ích hơn ngay cả khi chỉ có một vài người chơi "thực sự".
- Mỗi trò chơi sẽ bao gồm một số tập hợp con rabble để tham gia được chọn một cách ngẫu nhiên trên tất cả các tập hợp con của rabble.
- Tất cả các rabble sử dụng chiến lược sau đây:
- Chọn ngẫu nhiên để đặt cược với xác suất bằng với xác suất thành công tại ngân hàng sẽ được chọn dựa trên quyết định của những người chơi đã đưa ra quyết định của họ trong vòng này .
- Nếu đặt cược số tiền khác không, hãy chọn số tiền lớn nhất trong số các khoản sau không vượt quá mức nắm giữ hiện tại của nó: 69, 420, 6969, 80085.
- Trong vòng thứ hai, "rút lui" với xác suất bằng 5% cộng với 50% tỷ lệ người đặt cược đã rút lui, nếu không thì trộm là bình thường. .
Đầu vào và đầu ra
Trong cả hai vòng, các chương trình sẽ được cung cấp thông tin sau, chính xác theo thứ tự này, dưới dạng đối số dòng lệnh . Trừ khi có quy định khác, tất cả các giá trị là số nguyên không chứa số thập phân.
- Số trò chơi hiện tại (không có chỉ mục)
- Số vòng của trò chơi hiện tại (1 hoặc 2)
- Số lượng người chơi trong trò chơi hiện tại (bao gồm cả rabble).
- Số lượng người chơi đã lần lượt tham gia vòng này.
- Số lượng người thừa kế đã cam kết cổ phần tích cực cho đến nay. (Trong vòng thứ hai, đây thực sự sẽ là tổng số lượng người được mua trong vòng đầu tiên.)
- Tổng số tín dụng đầu tư cho đến nay. (Ở vòng thứ hai, điều này sẽ thực sự là tổng số các khoản tín dụng đầu tư ở vòng đầu tiên - đặc biệt, nó không bao gồm hơn các cổ phần ban đầu của "tất cả trong" heisters và không bao gồm cổ phần của "sao out" bá đạo.)
- Số lượng người thừa kế đã xác nhận trong vòng thứ hai (tức là không "rút lui"). Điều này sẽ bằng không trong vòng đầu tiên.
- Số (không có chỉ mục) của ngân hàng sẽ bị đánh cắp (trong vòng đầu tiên, ngân hàng sẽ bị đánh cắp nếu không có ai đặt cược)
- Số lượng tín dụng hiện có sẵn cho người chơi.
- Số tín dụng người chơi đặt cược trong vòng đầu tiên. (Điều này luôn luôn bằng không trong vòng đầu tiên.)
- Số tín dụng mà người chơi sẽ nhận được trong bảng lương của mình vào cuối mỗi trò chơi.
- 1 nếu người chơi hiện đang nhận được tiền lương, 0 nếu người chơi thất nghiệp
- Xếp hạng trên bảng xếp hạng (không bao gồm rabble) vào cuối trò chơi trước, được lập chỉ mục 1. (Được xác định là 1 + số người chơi có nhiều tín dụng hơn vào thời điểm đó. Ví dụ: trong trò chơi đầu tiên, tất cả người chơi có thứ hạng 1.)
- Số tín dụng trung bình được giữ bởi tất cả người chơi (không bao gồm rabble) (được biểu thị dưới dạng số thập phân)
- Độ lệch tuyệt đối trung bình trong số tín dụng được giữ bởi tất cả người chơi (không bao gồm rabble) (được biểu thị dưới dạng số thập phân)
- Số tín dụng tối đa được giữ bởi bất kỳ người chơi nào (nghĩa là số tín dụng được giữ bởi người chơi xếp hạng 1, không bao gồm rabble)
- Số tín dụng mà người chơi đã lưu trong tài khoản ngân hàng 0
- Tài khoản ngân hàng 1
- Tài khoản ngân hàng 2
- Tài khoản ngân hàng 3
- Tài khoản ngân hàng 4
- Xác suất chiến thắng cá nhân của người chơi tại ngân hàng 0
- Ngân hàng 1 xác suất
- Ngân hàng 2 xác suất
- Ngân hàng 3 xác suất
- Xác suất ngân hàng 4
- Tỷ lệ thanh toán cá nhân của người chơi khi đánh cắp thành công tại ngân hàng 0
- Ngân hàng 1 tỷ lệ cược
- Ngân hàng 2 tỷ lệ cược
- Ngân hàng 3 tỷ lệ cược
- Ngân hàng 4 tỷ lệ cược
Trong vòng đầu tiên của trò chơi, chương trình người chơi phải in để xuất ra một số nguyên từ 0 đến tổng số tín dụng trong tài khoản của người chơi đó. Bất kỳ số tiền đặt cược nào lớn hơn số dư tín dụng khả dụng sẽ được đặt cược tối đa. Bất kỳ đầu ra nào khác (hoặc điều kiện lỗi) sẽ được hiểu là đặt cược bằng không.
Trong vòng thứ hai của trò chơi, một chương trình người chơi phải in để xuất ra một chuỗi như được mô tả trong phần "Vòng cược thứ hai" ở trên. Một điều kiện lỗi ở đây được coi là hành động mặc định: trải qua với vụ trộm như bình thường.
Bộ điều khiển
Giải đấu sẽ được chạy bằng bộ điều khiển này . Bot ví dụ ở đó là tốt. Vẫn đang được thử nghiệm. Thêm mã để đến. Vui lòng gửi các bản sửa lỗi (trên github). Sẽ được cập nhật nếu bất kỳ quy tắc thay đổi là tốt.
Để chạy một giải đấu duy nhất trên máy của riêng bạn, hãy thêm một dòng vào đối thủ cạnh tranh và sau đó sử dụng:
python bankheist.py 1000
Thể lệ cuộc thi
- Người chơi có thể gửi bất kỳ số lượng chương trình người chơi bằng bất kỳ ngôn ngữ có sẵn miễn phí nào mà các chương trình có thể nhận được các đối số dòng lệnh.
- Đệ trình phải bao gồm các hướng dẫn khá rõ ràng về cách biên dịch chương trình và chạy chúng trên PC của tôi, bao gồm tên của các công cụ cần thiết và các lệnh chính xác sẽ được ban hành. Đệ trình phải bao gồm ít nhất một lệnh thực thi chương trình và có thể có các đối số dòng lệnh được nối trực tiếp vào nó.
- Đệ trình cũng phải có một tên duy nhất để xác định chúng (không chứa khoảng trắng).
- Các chương trình phải chạy trong một khoảng thời gian hợp lý ngắn. (Tôi không đặt giới hạn trên cho những gì cấu thành hợp lý. Thay vào đó, tôi chỉ đơn giản sẽ tư vấn cho người tạo bất kỳ mục nào có vẻ như có thời gian thực hiện quá mức để tăng tốc độ.)
- Các chương trình có thể không đọc hoặc ghi vào tập tin. Họ cũng không thể sử dụng bất kỳ phương pháp lưu trữ thông tin nào khác giữa các lần chạy. Điểm của thách thức này là đưa ra các quyết định phức tạp trên cơ sở thông tin hạn chế / tóm tắt.
- Bất kỳ và tất cả các quy tắc này có thể thay đổi bất cứ lúc nào nếu cần thiết. Một tin nhắn sẽ được thêm vào đầu bài viết này cho biết bất kỳ thay đổi như vậy.
- Cuộc thi này kết thúc không sớm hơn một tuần sau khi người dùng cuối cùng gửi bài đăng đầu tiên của mình . Sửa đổi các bài nộp hiện có được cho phép bất cứ lúc nào cho đến khi cuộc thi kết thúc. Tôi sẽ làm hết sức mình để cập nhật thời hạn hiện tại trong một tin nhắn ở đầu bài này.
- Cuộc thi này kết thúc không sớm hơn một tuần sau lần cuối cùng các quy tắc được thay đổi, nếu có. Tôi sẽ cố gắng hết sức để để lại nhận xét cho bất kỳ người dùng nào bị ảnh hưởng bởi bất kỳ thay đổi quy tắc nào.
- Tốt hơn bạn nên đặt cược tôi sẽ tham gia cuộc thi này bản thân mình. ;)