Lật sách (Drawing Book)
Giáo viên Vẽ Brie từ yêu cầu lớp của cô mở sách của họ đến một số trang. Brie có thể bắt đầu lật trang từ mặt trước của cuốn sách hoặc từ mặt sau của cuốn sách. Cô ấy luôn lật từng trang một. Khi cô mở sách, trang 1 luôn ở phía bên phải:
Khi cô lật trang 1 cô ấy thấy các trang 2 và 3. Mỗi trang trừ trang cuối cùng sẽ luôn được in trên cả hai mặt. Trang cuối cùng chỉ có thể được in ở mặt trước, với độ dài của cuốn sách. Nếu cuốn sách là n trang dài và cô ấy muốn chuyển sang trang p số lượng trang tối thiểu cô ấy sẽ bật là bao nhiêu? Cô ấy có thể bắt đầu ở đầu hoặc cuối cuốn sách.
cho n và p tìm và in số lượng trang tối thiểu Brie phải bật để đến trang p
Mô tả chức năng
Hoàn thành chức năng pageCount trong trình chỉnh sửa bên dưới. Nó sẽ trả về số lượng trang tối thiểu Brie phải bật.
pageCount có (các) tham số sau:
n: số lượng trang trong cuốn sách
p: số trang để chuyển sang
Định dạng đầu vào
Dòng đầu tiên chứa một số nguyên n số lượng trang trong cuốn sách.
Dòng thứ hai chứa một số nguyên, p trang mà giáo viên của Brie muốn cô chuyển sang.
Những ràng buộc
Định dạng đầu ra
In một số nguyên biểu thị số lượng trang tối thiểu Brie phải chuyển sang trang p
Nhập mẫu 0
6
2
Kết quả mẫu 0
1
Giải thích 0
Nếu Brie bắt đầu chuyển từ trang 1 cô ấy chỉ cần biến 1 trang
Nếu Brie bắt đầu chuyển từ trang 6 cô ấy cần phải biến 2 trang
Bởi vì chúng tôi muốn in số lượt trang tối thiểu, chúng tôi in 1 như câu trả lời của chúng tôi
Đầu vào mẫu 1
5
4
Kết quả mẫu 1
0
Giải thích 1
Nếu Brie bắt đầu chuyển từ trang 1 cô ấy cần phải đến trang 2
Nếu Brie bắt đầu chuyển từ trang 5 cô ấy không cần phải lật bất kỳ trang nào:
Bởi vì chúng tôi muốn in số lượt trang tối thiểu, chúng tôi in 0 như câu trả lời của chúng tôi
php
<?php
/*
* Complete the pageCount function below.
*/
function pageCount($n, $p) {
/*
* Write your code here.
*/
$upcnt = floor($p/2);
if($n%2 == 0) {
$downcnt = floor(($n+1-$p)/2);
} else {
$downcnt = floor(($n-$p)/2);
}
return $upcnt < $downcnt ? $upcnt : $downcnt;
}
$fptr = fopen(getenv("OUTPUT_PATH"), "w");
$stdin = fopen("php://stdin", "r");
fscanf($stdin, "%d\n", $n);
fscanf($stdin, "%d\n", $p);
$result = pageCount($n, $p);
fwrite($fptr, $result . "\n");
fclose($stdin);
fclose($fptr);
Comments
Post a Comment