PTIT038 - Máy thử lòng tin

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Mèo béo ngốc ngếch Doraemon cho bạn 1 chiếc máy thử lòng tin. Chiếc máy có 2 cửa.

Nếu bạn bỏ vào cửa 1 xu, đối phương không bỏ xu, đối phương sẽ lãi 2 xu ở cửa bên kia và ngược lại, nếu đối phương bỏ vào 1 xu, bạn không bỏ xu vào, bạn cũng sẽ nhận được thêm 2 xu. Vấn đề ở chỗ bạn và đối thủ có quyền bỏ xu vào (hợp tác - mỗi người lãi 1 xu), hoặc không (gian lận - không ai có thêm xu nào).

Bây giờ bạn sẽ đấu lần lượt với 4 đối thủ với 4 "chiến thuật" khác nhau:

  1. Mai ngoc: cuộc sống toàn là màu hồng. Vì có tràn đầy niềm tin vào cuộc sống và hơi ngốc nghếch nên sẽ luôn luôn "hợp tác".
  2. VanHocvp: thà ta phụ người chứ không để người phụ ta! Không tin bất kì ai nên không "hợp tác" dưới mọi hình thức.
  3. TuDeepTry: thanh niên thù dai! Ban đầu sẽ "hợp tác", chỉ cần bạn "gian lận" 1 lần thì sẽ không bao giờ "hợp tác" nữa.
  4. TaiLe: Lượt đầu sẽ "hợp tác". Nếu bạn "hợp tác" thì sẽ "hợp tác" lại ở lượt tiếp theo, nhưng nếu bạn lừa TaiLe 2 lần liên tiếp thì gã sẽ "gian lận" để trả đũa ở lượt tiếp theo.

Với mỗi đối thủ, bạn sẽ đấu số lượt lần lượt là: ~x1, x2, x3, x4~.

Ban đầu bạn có 1 xu, hãy tính xem sau khi thi đấu bạn sẽ giành được tối đa bao nhiêuxu.

Input

1 dòng duy nhất chứa 4 số: ~x1, x2, x3, x4~ là số lượt đấu với đối thủ 1, 2, 3, 4.(~0 \le x1, x2, x3, x4 \le 100~)

Output

1 dòng duy nhất là số xu tối đa thắng được khi chơi.

Sample

Input #1
10 10 10 10
Output #1
47
Input #2
5 6 7 8
Output #2
31

Problem source: CLB Lập Trình PTIT


Bình luận

Please read the guidelines before commenting.



  • 0
    Minhsang1  đã bình luận lúc 7, Tháng 4, 2025, 5:49 chỉnh sửa

    vd test1 :

    1. vì MaiNgoc luôn hợp tác nên ta có -> ans += a * 2
    2. vì VanHocvp ko bao giò hợp tác nên ko thu đc xu nào -> ans += 0;
    3. vì tudeeptry nếu gian lận 1 lần là ko hợp tác nx nên vào lần cuối ta sẽ gian lận hay là Lần1 : hợp tác Lần2 : hợp tác Lần3 : hợp tác Lần4 : hợp tác Lần5 : hợp tác Lần6 : hợp tác Lần7 : hợp tác Lần8 : hợp tác Lần9 : hợp tác Lần10 : gian lận -> ans += c + 1
    4. điểm mấu chốt là ở ôg TaiLe này vì 2 lần gian lận ko hợp tác nx nên ta có Nếu số lượt chơi là số chắn thì ta sẽ lừa vào lần đầu thì 2 lần cuối sẽ mới lừa đc hay: Lần1 : lừa Lần2 : hợp tác Lần3 : lừa Lần4 : hợp tác Lần5 : lừa Lần6 : hợp tác Lần7 : lừa Lần8 : hợp tác Lần9 : lừa Lần 10: lừa (lần 9,10 lừa 2 lần liên tiếp vì nó đã end game r ) còn nếu hợp tác ở lần 1 chúng ta sẽ ko tối ưu đc vì tổng nó sẽ là 15 còn nếu lừa ở lần1 tổng nó sẽ lag 16 (TƯƠNG TỰ VỚI SỐ LẺ Ở CÁI LƯỢT THẰNG TAILE ẤY VÌ SỐ LẺ MÌNH PHẢI HỢP TÁC LẦN1 VẼ RA SẼ THẤY ) code là AC thôi nha ok ae

  • 1
    thangok  đã bình luận lúc 20, Tháng 4, 2024, 8:07

    Với đối thủ Mai Ngoc : vì nó luôn luôn hợp tác nên chúng ta sẽ gian lận trong tất cả lượt chơi, như vậy sau mỗi lược chúng ta thu được 2 xu hoàn toàn free, số xu thu được là 2*số lượt chơi.

    VanHocvp : thằng này chúng ta coi như nó không có, bởi vì nó không bao giờ hợp tác nên chúng ta sẽ không thu được gì từ nó :)).

    Tudeeptrai: thanh niên này chỉ cần chúng ta gian lận "1 lần" thì nó sẽ không bao giờ hợp tác nữa, như vậy thì chúng ta sẽ hợp tác hết và sẽ gian lận ở lượt chơi cuối cùng, số xu thu được : số lượt chơi+1.

    TaiLe: không biết giải thích sao nữa nhưng số xu thu được là số lượt chơi+(số lượt chơi/2)


    • 0
      HHVinh007  đã bình luận lúc 23, Tháng 12, 2024, 4:27

      bổ sung là sẽ bo xì không chơi với thằng VanHoc nhưng vẫn hold được 1 xu ban đầu được cho nên vẫn xu+=1


  • -5
    hoangvanthong  đã bình luận lúc 22, Tháng 2, 2024, 13:39

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.