Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Thuật toán sắp xếp phòng trong ký túc xá sinh viên

  1. #1
    Ngày gia nhập
    04 2010
    Bài viết
    45

    Mặc định Thuật toán sắp xếp phòng trong ký túc xá sinh viên

    Mình có 1 bài tập về thuật toán như vầy, mà mình thì mù thuật toán mong các bạn giúp đỡ.

    Một ký túc xá cho sinh viên có tất cả 20 phòng. Trong đó có: 12 phòng, mỗi phòng 6 giường (phòng 6); 8 phòng, mỗi phòng 10 giường (phòng 10). Khi có sinh viên vào ở thì sắp sếp phòng như thế nào là tối ưu nhất? Lượng sinh viên là tùy ý nhưng phải < = 152.

    Nhờ các bạn giúp mình, có VD minh họa rõ ràng càng tốt. Rất cám ơn các bạn. (Ah` mình viết = C#)

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    Ola! Còn trường hợp sinh Nam, nữ sao cùng phòng được bác. Lúc ấy, phải tính khác roài. Xem lại đề bài đã post đủ chưa?
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  3. #3
    Ngày gia nhập
    04 2010
    Bài viết
    45

    Trích dẫn Nguyên bản được gửi bởi mrfour.it Xem bài viết
    Ola! Còn trường hợp sinh Nam, nữ sao cùng phòng được bác. Lúc ấy, phải tính khác roài. Xem lại đề bài đã post đủ chưa?
    Có thể là toàn nam or toàn nữ or nam nữ ở chung lun vấn đề này ko quan trọng nên ko cần nghĩ đến bạn ah`.

    Có bạn nào có cách giúp mình ko??????

  4. #4
    Ngày gia nhập
    01 2011
    Nơi ở
    Hà Nội
    Bài viết
    188

    Theo mình thì thế này:
    Giả sử xếp chỗ cho A người.
    Nếu sau khi xếp số phòng 6 là x, số phòng 10 là y.
    thì số giường trống là: k = (6x+10y)-A
    vậy thì ta phải tìm x và y (0 <= x <= 12) (0 <= y <=8)
    sao cho k min

    Còn vụ nam nữ thì xếp cho nữ trước theo cách trên, sau đó còn lại bao nhiêu phòng thì xếp cho nam theo cách trên
    (phòng nữ thừa giường cũng không được xếp nam nào )

    Mình nghĩ code mấy cái trên không quá phức tạp.

  5. #5
    Ngày gia nhập
    04 2010
    Bài viết
    45

    Trích dẫn Nguyên bản được gửi bởi vuthanhtrung90 Xem bài viết
    Theo mình thì thế này:
    Giả sử xếp chỗ cho A người.
    Nếu sau khi xếp số phòng 6 là x, số phòng 10 là y.
    thì số giường trống là: k = (6x+10y)-A
    vậy thì ta phải tìm x và y (0 <= x <= 12) (0 <= y <=8)
    sao cho k min

    Còn vụ nam nữ thì xếp cho nữ trước theo cách trên, sau đó còn lại bao nhiêu phòng thì xếp cho nam theo cách trên
    (phòng nữ thừa giường cũng không được xếp nam nào )

    Mình nghĩ code mấy cái trên không quá phức tạp.
    bạn nói mình vẫn chưa hình dung dc nên ko bit code ntn??? Bạn có thể nói rõ hơn dc ko.

    Có ai có ý kiến khác giúp mình với???

  6. #6
    Ngày gia nhập
    01 2011
    Nơi ở
    Hà Nội
    Bài viết
    188

    Mặc định Thuật toán sắp xếp phòng trong ký túc xá sinh viên

    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5.  
    6. namespace ConsoleApplication1
    7. {
    8.     class Program
    9.     {
    10.         static void Main(string[] args)
    11.         {
    12.             int sophong;
    13.             int giuongthua;
    14.             Console.Write("Nhap so nguoi can xep:");
    15.             sophong=int.Parse(Console.ReadLine());
    16.             for (int x = 0; x <= 12; x++)
    17.             {
    18.                 for (int y = 0; y <= 8; y++)
    19.                 {
    20.                     if((6*x+10*y-sophong)>=0&&(6*x+10*y-sophong)<6)
    21.                     {
    22.                         giuongthua = 6 * x + 10 * y - sophong;
    23.                         Console.WriteLine("So phong 6 la:{0}. So phong 10 la:{1}. So giuong thua la:{2}", x, y, giuongthua);
    24.                     }
    25.                 }
    26.             }
    27.             Console.ReadLine();
    28.         }
    29.     }
    30. }



    Nhìn bảng kết quả bạn sẽ thấy được phương án xếp phòng tối ưu.
    Việc của bạn là code thêm cái thông báo phương án tối ưu thôi.

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    45

    Trích dẫn Nguyên bản được gửi bởi vuthanhtrung90 Xem bài viết
    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5.  
    6. namespace ConsoleApplication1
    7. {
    8.     class Program
    9.     {
    10.         static void Main(string[] args)
    11.         {
    12.             int sophong;
    13.             int giuongthua;
    14.             Console.Write("Nhap so nguoi can xep:");
    15.             sophong=int.Parse(Console.ReadLine());
    16.             for (int x = 0; x <= 12; x++)
    17.             {
    18.                 for (int y = 0; y <= 8; y++)
    19.                 {
    20.                     if((6*x+10*y-sophong)>=0&&(6*x+10*y-sophong)<6)
    21.                     {
    22.                         giuongthua = 6 * x + 10 * y - sophong;
    23.                         Console.WriteLine("So phong 6 la:{0}. So phong 10 la:{1}. So giuong thua la:{2}", x, y, giuongthua);
    24.                     }
    25.                 }
    26.             }
    27.             Console.ReadLine();
    28.         }
    29.     }
    30. }



    Nhìn bảng kết quả bạn sẽ thấy được phương án xếp phòng tối ưu.
    Việc của bạn là code thêm cái thông báo phương án tối ưu thôi.
    Thanks bạn vuthanhtrung90, mình đã hiểu và làm dc.
    Nhưng cho mình hỏi thêm là: phương án tối ưu nhất là có số giường thừa nhỏ nhất. Vậy làm sao để lấy ra dc phương án đó??? mình đã thử rất nhiều cách nhừng vẫn ko làm dc.

Các đề tài tương tự

  1. CEO HTC khuyến khích sáng tạo, làm việc nghiêm túc trong email gửi tới nhân viên
    Gửi bởi quynhcute trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 18-08-2012, 11:52 AM
  2. Trả lời: 1
    Bài viết cuối: 24-11-2011, 10:51 PM
  3. Thuật toán chuyển phòng trong đồ án quản lí kí túc xá trên console?
    Gửi bởi tan trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 19-11-2011, 07:35 PM
  4. Quản lí sinh viên ký túc bằng lập trình hướng đối tượng
    Gửi bởi kenthien trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 20-04-2010, 01:44 PM
  5. Cài đặt chương trình quản lí sinh viên kí túc xá theo Hướng Đối Tượng
    Gửi bởi kenthien trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 14-04-2010, 05:36 PM

Quyền hạn của bạn

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