本题逻辑上并不难,主要是OJ的判题系统有问题(对PHP不友好),导致本地调试正常,结果提交上去报错。
解决方法:修改下提交时参数获取方式
<?php
//1、本地调试
//$arr = [];
//while(($line = fgets(STDIN)) != PHP_EOL){
// $str = explode(' ', $line);
// $arr[] = str_replace(PHP_EOL, '', $str);
//}
//2、正式提交
$arr = [];
while ($line = fgets(STDIN)) {
$str = explode(' ', $line);
$arr[] = str_replace(PHP_EOL, '', $str);
}
完整代码:
<?php
$arr = [];
while ($line = fgets(STDIN)) {
$str = explode(' ', $line);
$arr[] = str_replace(PHP_EOL, '', $str);
}
$t = (int)$arr[0][0];
$arr_t = array_slice($arr, 1);
$arr_v = [];
for ($i = 0; $i < $t; $i++){
$arr_v[$i] = number_format($arr_t[$i][1] * 0.50, 2,".","");
}
$str_1 = implode(PHP_EOL, $arr_v);
echo $str_1;
return $str_1;
|