|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
vietthaitink21 viết:
QUOTE: iamquang95 viết:
QUOTE: Thuật toán hình học, bạn có thể vào thư viện đọc :D
Em đọc thuật toán hình học mà anh nói rồi cài đặt nhưng k hiểu sao lại WA. e for 3 vòng với i từ 1 đến N-2, j từ i+1 tới N-1 và K từ j+1 tời N. sau đó nếu i,j,k tạo thàn tam giác thì em tăng res với res là độ chắc chắn và tăng d[i],d[j],d[k] lên 1 với mảng d lưu lại độ an toàn của từng máy bay. kết quả e lấy ra là res và min của mảng d. Không biết làm thế có đúng không, mong anh xem giùm em
Cơ bản thì cách làm đúng. Thế nhưng cái biểu thức logic kiểm tra tạo thành tam giác của em là như nào?
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
vietthaitink21 viết:
QUOTE: nonamedriven viết:
QUOTE: vietthaitink21 viết:
QUOTE: iamquang95 viết:
QUOTE: Thuật toán hình học, bạn có thể vào thư viện đọc :D
Em đọc thuật toán hình học mà anh nói rồi cài đặt nhưng k hiểu sao lại WA. e for 3 vòng với i từ 1 đến N-2, j từ i+1 tới N-1 và K từ j+1 tời N. sau đó nếu i,j,k tạo thàn tam giác thì em tăng res với res là độ chắc chắn và tăng d[i],d[j],d[k] lên 1 với mảng d lưu lại độ an toàn của từng máy bay. kết quả e lấy ra là res và min của mảng d. Không biết làm thế có đúng không, mong anh xem giùm em
Cơ bản thì cách làm đúng. Thế nhưng cái biểu thức logic kiểm tra tạo thành tam giác của em là như nào?
Code: |
function kt(i,j,k: integer): boolean;
var a1,a2,b2,b1,t: extended;
begin
a1:=a[j].x-a[i].x;
b1:=a[j].y-a[i].y;
a2:=a[k].x-a[j].x;
b2:=a[k].y-a[j].y;
t:=a1*b2-a2*b1;
if abs(T)<esq then exit(false);
exit(true)
end;
|
Em làm theo CCW thuật toán trong thư viện , ở đây esq e để khoảng 0,000001 vì e nghĩ kiểu số thực thì không thể so sánh bằng 0 hay không vì có thể bị sai số, mong các anh xem giúp em có đúng hay không ạ
P/S đã thông báo là các số đều nguyên mà em! Như vây cái tích a1*b2 hay a2*b1 đều nguyên hết. Ko cần esq!
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
Mình thấy CCW cái gì cho nó vất vả ra, lập phương trình đường thẳng, kiểm tra trực tiếp, lập pt đường thẳng chỉ toàn số nguyên thôi mà.
|
|
|
Đã lưu IP
|
|
Cầu trời mai đề dễ chịu với con
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
nonamedriven viết:
QUOTE: vietthaitink21 viết:
QUOTE: nonamedriven viết:
QUOTE: vietthaitink21 viết:
QUOTE: iamquang95 viết:
QUOTE: Thuật toán hình học, bạn có thể vào thư viện đọc :D
Em đọc thuật toán hình học mà anh nói rồi cài đặt nhưng k hiểu sao lại WA. e for 3 vòng với i từ 1 đến N-2, j từ i+1 tới N-1 và K từ j+1 tời N. sau đó nếu i,j,k tạo thàn tam giác thì em tăng res với res là độ chắc chắn và tăng d[i],d[j],d[k] lên 1 với mảng d lưu lại độ an toàn của từng máy bay. kết quả e lấy ra là res và min của mảng d. Không biết làm thế có đúng không, mong anh xem giùm em
Cơ bản thì cách làm đúng. Thế nhưng cái biểu thức logic kiểm tra tạo thành tam giác của em là như nào?
Em làm theo CCW thuật toán trong thư viện , ở đây esq e để khoảng 0,000001 vì e nghĩ kiểu số thực thì không thể so sánh bằng 0 hay không vì có thể bị sai số, mong các anh xem giúp em có đúng hay không ạ
đã ac
P/S đã thông báo là các số đều nguyên mà em! Như vây cái tích a1*b2 hay a2*b1 đều nguyên hết. Ko cần esq!
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
iamquang95 (Thành viên)
Nhắm mắt code không bug
Bài viết: 295
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
Sai rồi, đề bài cần in ra chỉ số máy bay chứ không cần in ra giá trị bạn ạ!
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
iamquang95 viết:
QUOTE: Sai rồi, đề bài cần in ra chỉ số máy bay chứ không cần in ra giá trị bạn ạ!
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
Bài máy bay mình dùng công thức tính diện tích tam giác ( nếu diện tích lớn hơn 0 thì là tam giác )
Do tam giác nhỏ nhất có diện tích là 0.5 nên các bạn nếu dùng số thực cứ cho nó chênh lệch lớn lớn ( <0.5 ) là ok
|
|
|
Đã lưu IP
|
|
Y!M: duy_khanh308
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
iamquang95 viết:
QUOTE: Sai rồi, đề bài cần in ra chỉ số máy bay chứ không cần in ra giá trị bạn ạ!
cám ơn anh, e đã ac, sai vì không đọc kĩ đề 
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
|
Trả lời: C11 Contest Round 16 ! 8 năm, 2 tháng trước
|
(+0)
|
Bài C11PASS ko bik có ai có ý tưởng j` ko nhỉ ?
|
|
|
Đã lưu IP
|
|
Đã khóa chức năng gửi bài. |
|