Trang 8 / 16 FirstFirst ... 356789101113 ... LastLast
Hiển thị kết quả từ 71 đến 80 / 158
  1. #71
    Tham gia
    01-05-2006
    Location
    Viettel Telecom
    Bài viết
    623
    Like
    0
    Thanked 1 Time in 1 Post
    BTC tuyên bố: sử dụng đề của MB làm đề chính thức của đợt 3, mọi người làm nhanh lên nhé

  2. #72
    Tham gia
    22-11-2005
    Location
    HN
    Bài viết
    147
    Like
    0
    Thanked 1 Time in 1 Post
    Có lẽ để 1 hôm nào đó tui sẽ post 1 đề ..... hi vọng nó sẽ làm đề chính thức của đợt 4 hay 5 gì đó Dạo này ít vào forum quá

  3. #73
    Tham gia
    01-05-2006
    Location
    Viettel Telecom
    Bài viết
    623
    Like
    0
    Thanked 1 Time in 1 Post
    ủa, không ai làm bài đợt 3 vì ... dễ quá à. thôi nhé, coi như trên chỉ là đóng góp cho đề đợt 3. Đợt 3 chưa có đề chính thức. Mời AE đóng góp đề bài

  4. #74
    Tham gia
    03-01-2007
    Bài viết
    34
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi truongngocdai View Post
    ủa, không ai làm bài đợt 3 vì ... dễ quá à. thôi nhé, coi như trên chỉ là đóng góp cho đề đợt 3. Đợt 3 chưa có đề chính thức. Mời AE đóng góp đề bài
    Hì, em bận quá không code được. . Em xin đóng góp 1 đề, dễ thôi :

    Cho một số độ dài không quá 1000 chữ số, từ số này ta tạo ra một số nguyên bằng cách chọn ra một số các chữ số thuộc số này và viết liền nhau (giữ nguyên thứ tự). Hãy tìm số nhỏ nhất không tạo ra được từ số này

    Ví dụ :
    1230 => số nhỏ nhất không tạo được là 4
    1234567890 => số nhỏ nhất không tạo được là 11. (Do 10 tạo thành từ 1 và 0)

    11223344556677889900 => Đáp án : 21

    Dữ liệu : File SO.INP 1 dòng duy nhất chứa số ban đầu
    Kết quả : File SO.OUT 1 dòng duy nhất chứa kết quả.
    Được sửa bởi pineflower lúc 11:29 ngày 08-03-2007

  5. #75
    Tham gia
    01-05-2006
    Location
    Viettel Telecom
    Bài viết
    623
    Like
    0
    Thanked 1 Time in 1 Post
    đề khó hiểu quá, hic hic

  6. #76
    Tham gia
    03-01-2007
    Bài viết
    34
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi pineflower View Post
    Hì, em bận quá không code được. . Em xin đóng góp 1 đề, dễ thôi :

    Cho một số độ dài không quá 1000 chữ số, từ số này ta tạo ra một số nguyên bằng cách chọn ra một số các chữ số thuộc số này và viết liền nhau (giữ nguyên thứ tự). Hãy tìm số nhỏ nhất không tạo ra được từ số này

    Ví dụ :
    1230 => số nhỏ nhất không tạo được là 4
    1234567890 => số nhỏ nhất không tạo được là 11. (Do 10 tạo thành từ 1 và 0)

    11223344556677889900 => Đáp án : 21

    Dữ liệu : File SO.INP 1 dòng duy nhất chứa số ban đầu
    Kết quả : File SO.OUT 1 dòng duy nhất chứa kết quả.
    11223344556677889900
    Các số tạo thành là : 0 .. 9,10,11,12,..19,20. Sau 2 không có số 1 nào nên không tạo được số 21. => 21 là kết quả.
    123456789012345678901234567890
    Kết quả 1111.
    Được sửa bởi pineflower lúc 16:10 ngày 09-03-2007

  7. #77
    Tham gia
    01-05-2006
    Location
    Viettel Telecom
    Bài viết
    623
    Like
    0
    Thanked 1 Time in 1 Post
    cực kì khó hiểu, hichic

  8. #78
    Tham gia
    03-01-2007
    Bài viết
    34
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi pineflower View Post
    11223344556677889900
    Các số tạo thành là : 0 .. 9,10,11,12,..19,20. Sau 2 không có số 1 nào nên không tạo được số 21. => 21 là kết quả.
    123456789012345678901234567890
    Kết quả 1001.
    Nói cách khác, một số được gọi là tạo thành từ số A nếu số này là xâu con (Không cần liên tiếp) của số A

  9. #79
    Tham gia
    01-05-2006
    Location
    Viettel Telecom
    Bài viết
    623
    Like
    0
    Thanked 1 Time in 1 Post
    Quote Được gửi bởi pineflower View Post
    Nói cách khác, một số được gọi là tạo thành từ số A nếu số này là xâu con (Không cần liên tiếp) của số A
    huhu, đến giờ em vẫn chưa hiểu vấn đề

  10. #80
    Tham gia
    08-01-2006
    Location
    Hà Nội
    Bài viết
    318
    Like
    0
    Thanked 3 Times in 2 Posts
    Thía này: cho một số có 1000 chữ số, ta có thể tạo ra số mới = cách xóa đi các chữ số trong 1000 chữ số đó. Vấn đề đặt ra là nếu xóa đi các chữ số đó bằng mọi cách thì những số nào sẽ không tạo ra được, vd dãy 123 nếu xóa đi bất kỳ số nào hay xóa tất đều ko thể tạo được số 4, 5, 6... và trong những số đó chọn ra số nhỏ nhất.
    - Thực ra bài này thuật toán ko khó, mảng 2 chiều, 1000 cột và 2 dòng. Dòng đầu ghi các chữ số, dòng 2 ghi các giá trị true/false. Mặc định là false.
    - Đầu tiên ta search xem có chữ số nào từ 0->9 ko có trong dãy ko. Nếu ko => nhảy bước tiếp, nếu có => in chữ số đó ra và kết thúc.
    - Từ đây bắt đầu vòng lặp. Ta lựa chữ số đầu tiên, duyệt hết 1000 chữ số với số thử từ 1->9. Ta chọn chữ số 1 đầu tiên, bỏ hết các chữ số đằng trước nó, rồi thử tìm đằng sau nó có chữ số nào từ 0->9 ko có trong dãy ko. Nếu có => in chữ số được chọn và chữ số ko xuất hiện ra rồi kết thúc. Nếu ko => bỏ chữ số được chọn, tiếp tục thử chọn chữ số đằng sau nó xem sao.
    - Ta có thể chắc chắn số tìm được nhiều nhất là 2 chữ số:
    cho dãy 123543322....894230
    thì giả sử các chữ số đằng trước đều ko chọn được, ta có thể chọn 2 chữ số sau cùng của dãy: 30 từ đó suy ra số nhỏ nhất ko viết được là 31.

Trang 8 / 16 FirstFirst ... 356789101113 ... LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •