01/10/2018, 08:43

Tìm S giao lớn nhất trong N hcn

Cho N hcn trên mp Oxy , biết A(’/"/"’/’’’…)(x,y), C(’/"/"’/’’’…)(x,y) , tính S giao của 2 hcn là lớn nhất , dưới đây em có vẽ ví dụ và công thức tính S :

*note : có thể thêm nhiều trường hợp nữa

Nhưng khi viết code thì lại có nhiều vấn đề phát sinh :

  • Dùng vòng lặp (hay cái gì đó) để gửi stt hcn (vd : h1 và h5)
  • Làm sao để chương trình biết hn và hm có giao nhau không ?(à cái này thì em làm được)
  • Làm sao để không lặp thứ tự hcn (vd : lúc đầu ta tính được h1 với h5, lúc sau khi chạy đến h5 và kiểm tra h1 thì nó sẽ bị trùng)
  • bla,bla,…

mong mấy thánh góp ý tưởng

Wake Of GOD viết 10:51 ngày 01/10/2018

Theo ý mình - sai thì đừng gạch đá chỉ là ý kiến thôi :
Sử dụng arraylist hoặc 1 cái mảng tương tự để lưu các object hình.
Ta có 1 dãy các object h1,h2,h3,…
Lần lượt kiểm tra h1 vs h2, h3, h4 nếu có giao thì tính diện tích lưu vào giá trị max sau đó tăng lên h2 rồi xét h3, h4, … nếu giao và > max thì set lại max
Mình nghĩ ý tưởng là như thế :))

rogp10 viết 10:51 ngày 01/10/2018

Sắp xếp theo tọa độ đỉnh sẽ dễ duyệt hơn.

Bài liên quan
0