Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
MROBOT - Robot OLP 13 |
Trung tâm XYZ có nhiệm vụ khảo sát mức độ phóng xạ của một khu vực nhiễm xạ gồm n địa điểm. Các địa điểm nằm trên một đường thẳng, được đánh số từ 1 đến n từ trái qua phải. Trung tâm sử dụng một robot để đo mức độ nhiễm xạ. Robot có khả năng nhận hai loại lệnh để di chuyển: Loại 1, di chuyển sang phải a bước; Loại 2, di chuyển sang trái b bước. Cụ thể, nếu robot đang đứng ở địa điểm v , robot có thể thực hiện lệnh loại 1 để v di chuyển đến địa điểm v+a nếu v+a<=n , hoặc robot có thể thực hiện lệnh loại 2 để di chuyển đến địa điểm v-b nếu v-b>=1 . Khi robot dừng lại tại một địa điểm, robot có thể bật máy đo mức độ nhiễm xạ và gửi kết quả đo được về trung tâm. Tuy nhiên, do pin của robot có hạn, robot chỉ có thể thực hiện được không quá k lệnh di chuyển. Ban đầu robot được đặt ở địa điểm 1.
Ví dụ, với n=6, a=2,b=3, và k=3 có thể sử dụng robot để đo được mức độ nhiễm xạ tại các địa điểm 1, 2, 3, 5 (bao gồm cả địa điểm ban đầu của nó). Như vậy, robot không thể đo được mức độ nhi m xạ tại các địa điểm 4 và 6.
Yêu cầu: Cho n,a,b và k , hãy đếm số địa điểm mà robot không thể đo được mức độ nhiễm xạ.
Dữ liệu: Vào từ file văn bản ROBOT.INP:
Dòng đầu ghi số T (T<=10) là số bộ dữ liệu có trong file;
T dòng sau, mỗi dòng chứa bốn số nguyên dương n,a,b,k (1<=n,a,b<=10^9, 1<=k<=1000 ).
Kết quả: Đưa ra file văn bản ROBOT.OUT gồm T dòng, mỗi dòng là số lượng địa điểm mà robot không thể đo được mức độ nhi m xạ của bộ dữ liệu vào tương ứng.
ROBOT.INP
4
6 2 3 3
100 99 1 100
361273679 232 4324 1000
100 99 98 100
ROBOT.OUT
2
0
361247691
97
Được gửi lên bởi: | psetter |
Ngày: | 2014-10-01 |
Thời gian chạy: | 1s-2s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |
Nguồn bài: | OLP KC 2013 |
hide comments
2015-04-27 08:46:33
input và output có phải là thông qua file không vậy? Ví dụ cho cũng có vấn đề 361273679 - 361247691 = 25988 > 1000 vậy số bước đi được lại lớn hơn số bước nhảy là sao??? |
|
2014-10-25 14:24:15 Nặc Danh
đề ghi nhập xuất qua file mà khi chấm lại thông qua màn hình |
|
2014-10-23 11:36:50 123
bộ test bài này có vấn đề ??? |
|
2014-10-06 11:37:44 Nguy?n Hoàng Phú
Test 361273679 232 4324 1000 sao ra kết quả 361247691 được nhỉ, nếu vậy nó phải di chuyển hơn k = 1000 lệnh rồi |