Trang 1 / 9 12346 ... LastLast
Hiển thị kết quả từ 1 đến 10 / 83

Chủ đề: Chủ đề mới

  1. #1
    Tham gia
    17-10-2007
    Location
    Hà Nội
    Bài viết
    758
    Like
    0
    Thanked 8 Times in 7 Posts

    Buồn quá đi ! Chủ đề mới

    Từ sau khi topic của bạn truongngocdai lập ra mình thấy box pascal này chẳng có việc gì nhỉ. Mà topic đó gần đây cũng chẳng có thêm gì mới. Mình xin bắt chước hoạt động của topic đó (cũng đố các bài) nhưng các bài sẽ dễ hơn nhiều.
    Sau đây là 1 bài khá dễ và quen thuộc
    Cho 1 dãy dấu ngoặc. Kiểm tra tính chính xác của nó. Chỉ yêu cầu nói cách làm vì bài này khá dễ
    VD:
    không có gì: đúng
    (): đúng
    ): sai
    (()): đúng
    (())): sai
    (()())() :đúng
    (())): sai
    Mong các bạn hăng hái thăm gia vì bài này cũng không khó lắm
    Quote Quote

  2. #2
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    THUAT TOAN'''''''
    hàm KT1: kiểm tra việc đầy đủ của '(' và ')'
    hàm TH():boolean;
    Lặp cho đến khi s='' Nếu chuỗi s không thể rỗng duoc thì FALSE
    {néu gặp '(' thì đi kiếm ')' rồi xóa chúng đi}
    LUU Y:thuật toán này đúng luôn cho test này : ))(( là FALSE ;
    {tức là đầu tiên phải KT dấu '(' trước}
    't 'r )
    CÁch làm này là dỏm nhất (dùng mang đánh dấu thì hay hơn)
    Được sửa bởi thuonghcm lúc 13:11 ngày 12-12-2007

  3. #3
    Tham gia
    17-10-2007
    Location
    Hà Nội
    Bài viết
    758
    Like
    0
    Thanked 8 Times in 7 Posts
    Cách làm của bạn cũng đúng nhưng có lẽ hơi tốn thời gian
    Ngoài ra, để tránh việc dùng mảng đánh dấu có lẽ nên đưa thêm điều kiện cho bài toán là không được dùng mảng hoặc xâu (tất nhiên trừ xâu chứa dấu ngoặc nhập vào) để thêm phần hấp dẫn
    Nếu không còn ai có cách làm hay hơn thì có lẽ bạn thuonghcm sẽ là người chiến thắng (chắc cũng chẳng được gì vì tôi chẳng có gì làm phần thưởng cả. Chắc chỉ được khen ngợi và được nhiều người biết đến thôi)

  4. #4
    Tham gia
    17-10-2007
    Location
    Hà Nội
    Bài viết
    758
    Like
    0
    Thanked 8 Times in 7 Posts
    À quên mất bài này chỉ tồn tại đến thứ tư tuần sau thôi nhé. Các bạn nhớ tham gia trả lời nhanh. Nhớ là không dùng thêm mảng hay xâu đâu nhé.

  5. #5
    Tham gia
    16-11-2007
    Bài viết
    221
    Like
    0
    Thanked 1 Time in 1 Post
    Ko biết mình có đúng ko nhưng cứ nói nha.Bài này là bài củ hành khá quen thuộc.
    Dùng biến đếm khởi gán nó bằng 0
    Cứ gặp dấu ( là dem:=dem+1
    Gặp dấu ) là dem:=dem-1
    Sau mỗi lần tăng hay giảm biến đếm thì kiểm tra nó ,nếu nó âm thì thoát bài toán ,in ra chữ sai
    Sau cùng ,kt biến đếm ,nếu nó =0 thì là đúng ,khác là sai.
    Mới học Pascal,có gì sai xin chỉ bảo thêm

  6. #6
    Tham gia
    16-11-2007
    Bài viết
    221
    Like
    0
    Thanked 1 Time in 1 Post
    Mình cũng xin chia sẻ với các bạn 1 bài.Bài này mình có 2 cách,1 là cách củ hành,2 là...(xin ko nói nha).Mong các bạn sẽ tìm ra nhiêù cách hơn.
    Có 1 lớp học gồm n học sinh,số học sinh này ko đến và về cùng lúc mà đến vào thời gian a[i] về vào lúc b[i].
    a)Tính thời gian cô giáo có thể đến mà có nhiều học sinh nhất?Có mấy học sinh?
    b)Lúc đó,cô có thể gặp những ai?
    VD:
    INP:
    5
    1 4
    2 6
    3 5
    6 7
    7 10
    -Dòng đầu là n học sinh
    -Dòng thứ 2 là thời gian đến và về của học sinh 1
    ......
    Dòng thứ n+1 là thời gian đến và về của học sinh n
    OUT:
    3 {số hs đông nhất cô có thể gặp}
    3 {thời gian cô gặp đc chúng}
    1 2 3{những học sinh mà cô gặp đc khi max học sinh}
    Bài mở rộng:Hãy in toàn bộ kết quả có thể?
    Chúc các bạn vui.
    Được sửa bởi phuclun lúc 23:04 ngày 12-12-2007

  7. #7
    Tham gia
    17-10-2007
    Location
    Hà Nội
    Bài viết
    758
    Like
    0
    Thanked 8 Times in 7 Posts
    Bài trước bạn phuclun nói đúng đáp án rồi. Chúc mừng bạn. Bạn đã chiến thắng
    Còn bài bạn đó cũng có vẻ hay đấy

  8. #8
    Tham gia
    16-11-2007
    Bài viết
    221
    Like
    0
    Thanked 1 Time in 1 Post
    hì,may cả thôi,bài của mình thì chủ nhật mình sẽ post lời giải lên cho.Chắc cũng có người làm đc thôi.
    Mới học Pascal,có gì sai xin chỉ bảo thêm.

  9. #9
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    s:=')('; { hình như phải KT ')'truoc}
    Được sửa bởi thuonghcm lúc 21:10 ngày 12-12-2007

  10. #10
    Tham gia
    25-09-2006
    Bài viết
    533
    Like
    0
    Thanked 1 Time in 1 Post
    chắc phải thêm 1 lịnh nữa.......
    for i:=1 to n do if s[i]='(' then break;
    for j:=i to n do if........như TT kia......
    Được sửa bởi thuonghcm lúc 21:10 ngày 12-12-2007

Trang 1 / 9 12346 ... 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
  •