Có một câu hỏi được hỏi trong một cuộc phỏng vấn:Làm thế nào để thực hiện giải pháp cho các vấn đề chủng tộc mô phỏng
Trong một thách thức Formula-1, có n đội đánh số từ 1 đến n. Mỗi đội có một chiếc xe hơi và một tài xế. đặc điểm kỹ thuật xe của như sau:
- Tốc độ tối đa: (150 + 10 * i) km mỗi giờ
- Acceleration: (2 * i) mét vuông mỗi thứ hai.
- Hệ số xử lý (hf) = 0,8
- Nitro: Tăng tốc độ lên gấp đôi hoặc tốc độ tối đa, tùy theo mức nào thấp hơn. Chỉ có thể sử dụng một lần.
Đây là số nhóm. Những chiếc xe xếp hàng cho cuộc đua. Dòng bắt đầu cho (i + 1) thứ xe là 200 * i mét phía sau chiếc xe thứ i.
Tất cả chúng đều bắt đầu cùng một lúc và cố gắng đạt được tốc độ tối đa của chúng. Việc đánh giá lại các vị trí được thực hiện sau mỗi 2 giây (Vì vậy, ngay cả khi chiếc xe đã vượt qua vạch đích ở giữa, bạn sẽ biết sau 2 giây). Trong quá trình đánh giá này, mỗi người lái xe sẽ kiểm tra xem có xe nào trong phạm vi 10 mét của xe hơi không, tốc độ của anh ta giảm xuống: hf * (tốc độ tại thời điểm đó). Ngoài ra, nếu người lái xe nhận thấy rằng anh ta là người cuối cùng trong cuộc đua, anh ta sử dụng ‘nitro’.
Lấy số lượng đội và độ dài của bản nhạc làm đầu vào, tính toán tốc độ cuối cùng và thời gian hoàn thành tương ứng.
Tôi không hiểu cách tiếp cận loại vấn đề này. Đối với mỗi trường hợp, tôi có nên kiểm tra tất cả các kết hợp C(n,2) của mỗi cặp trình điều khiển và tính toán kết quả không? Nhưng làm thế nào tôi có thể tìm ra trường hợp nào tôi nên thực hiện các tính toán?
Tôi không chắc chắn, nhưng nếu tôi có câu hỏi của bạn, tôi nghĩ bạn phải triển khai trong mô hình "client-server". Bạn có máy chủ chịu trách nhiệm giữ match.clients là ô tô (nhóm). tại mỗi bước khách hàng cho máy chủ biết thông tin của họ và máy chủ lưu trữ thông tin đó và họ có thể truy cập vào tất cả các thông tin xe khác. tại mỗi bước họ nhận được danh sách xe ô tô đầy đủ và thông tin của họ. trong vòng 10 mét với thời gian của O (n) .just như Công thức thực 1 cho thấy tất cả các bảng xếp hạng trình điều khiển và vị trí của chúng trên màn hình! –