Những người lập trình giỏi viết chương trình từ trung bình đến cao hơn trong các cuộc thi của TopCoder hoặc ACM ICPC, phải đảm bảo tính đúng đắn của thuật toán trước khi gửi.Làm thế nào để các lập trình viên kiểm tra thuật toán của họ trong TopCoder hoặc các cuộc thi khác?
Mặc dù chúng được cung cấp một số trường hợp thử nghiệm mẫu để đảm bảo đầu ra chính xác, nhưng làm cách nào để đảm bảo rằng chương trình sẽ hoạt động chính xác? Họ có thể viết một số trường hợp thử nghiệm của riêng mình nhưng nó sẽ không thể có trong mọi trường hợp để biết câu trả lời đúng thông qua tính toán thủ công. Họ làm nó như thế nào?
Cập nhật: Như có vẻ như, nó không phải là hoàn toàn có thể để phân tích và đảm bảo kết quả của một thuật toán cho các ràng buộc chặt chẽ của một môi trường cạnh tranh. Tuy nhiên, nếu có bất kỳ hướng dẫn sử dụng, các đặc điểm phổ biến hơn được áp dụng trong khi giải quyết các vấn đề như vậy - phải đủ để trả lời câu hỏi. Một cái gì đó giống như các phương pháp hay nhất ..
'nhưng làm thế nào để đảm bảo rằng chương trình sẽ hoạt động chính xác? 'Không. * Đảm bảo * rằng một chương trình làm những gì nó phải làm là lĩnh vực [Chính thức xác minh] (http://en.wikipedia.org/wiki/Formal_verification) - và nó là quá phức tạp và tốn thời gian để làm điều đó trong một cạnh tranh – amit