[Writeup] Chủ đề Programming - Vòng Chung kết WhiteHat Grand Prix 2014

Thảo luận trong 'Writeup WhiteHat Grand Prix' bắt đầu bởi BkavCR, 30/10/14, 12:10 PM.

  1. BkavCR

    BkavCR Super Moderator

    Tham gia: 27/09/13, 11:09 AM
    Bài viết: 204
    Đã được thích: 89
    Điểm thành tích:
    48
    Topic này được tạo để các bạn viết, trao đổi thảo luận về Writeup Chủ đề Programming - Vòng Chung kết WhiteHat Grand Prix 2014.

    Đề thi:

    E.P có một chú bò vàng tên Đô Đô rất thông thái. Với trí thông minh có sẵn, Đô Đô đặc biệt yêu thích các trò chơi và thường sáng tạo ra các trò mới để thách đấu với các con bò khác trong vùng. Trò chơi yêu thích của Đô Đô là bốc sỏi. Luật chơi như sau: Đô Đô sẽ chia số sỏi mình có thành 2 đống, có số lượng ngẫu nhiên. Lần lượt mỗi người sẽ bốc một số viên sỏi nhất định. Tuy nhiên duy chỉ có 2 cách bốc sỏi:

    1. Chỉ bốc ở một đống: số lượng tùy ý
    2. Bốc sỏi ở cả 2 đống: số lượng tùy ý – nhưng số sỏi muốn bốc ở cả 2 đống phải bằng nhau

    Bên nào bốc (những) viên sỏi cuối cùng sẽ chiến thắng. Đánh bại Đô Đô và dành phần quà bí mật từ E.P nào. Cách trả lời:

    Cú pháp Nội dung
    x 0 Chỉ bốc x viên sỏi ở đống thứ nhất
    0 x Chỉ bốc x viên sỏi ở đống thứ hai
    x x Bốc x viên sỏi ở mỗi đống

    Số lương sỏi là các số nguyên dương nhỏ hơn 50000.

    nc grandprix.whitehat.vn 8000

    Hoặc mời bạn đăng nhập vào trang http://grandprix.whitehat.vn/ bằng tài khoản và mật khẩu WhiteHat Forum để lấy đề thi.
     
    Last edited by a moderator: 31/10/14, 09:10 AM
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  2. vhnvn

    vhnvn W-------

    Tham gia: 22/09/14, 02:09 PM
    Bài viết: 13
    Đã được thích: 0
    Điểm thành tích:
    16
    Re: [Writeup] Chủ đề Programming - Vòng Chung kết WhiteHat Grand Prix 2014

    Bài prog:
    Đầu tiên chạy grundy với input nhỏ để đoán các trạng thái 0:
    Mã:
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    using namespace std;
    
    
    #define mx 30001
    
    
    int G[mx][mx];
    
    
    int grundy(int a, int b){
        int& ret=G[a][b];
        if(ret>=0) return ret;
        set s;
        if(a==0 && b==0) return ret=0;
        for(int i=0;i
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan