Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.