-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathquery_board.php
64 lines (56 loc) · 1.35 KB
/
query_board.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
$size = 255;
$board = array_fill(0, $size, array_fill(0, $size, "0"));
function printBoard($board, $size) {
for ($i = 0; $i <= $size; $i++) {
for ($j = 0; $j <= $size; $j++) {
echo $board[$i][$j];
}
echo "\n";
}
}
function setRow($board, $row, $value, $size) {
for ($i = 0; $i <= $size; $i++) {
$board[$row][$i] = $value;
}
return $board;
}
function setCol($board, $col, $value, $size) {
for ($i = 0; $i <= $size; $i++) {
$board[$i][$col] = $value;
}
return $board;
}
function queryRow($board, $row, $size) {
$sum = 0;
for ($i = 0; $i <= $size; $i++) {
$sum += $board[$row][$i];
}
return $sum;
}
function queryCol($board, $col, $size) {
$sum = 0;
for ($i = 0; $i <= $size; $i++) {
$sum += $board[$i][$col];
}
return $sum;
}
$fh = fopen($argv[1], "r");
while (!feof($fh)) {
$test = fgets($fh);
$command = explode(" ", $test);
if ($command[0] == "SetCol") {
$board = setCol($board,$command[1],trim($command[2]),$size);
}
if ($command[0] == "SetRow") {
$board = setRow($board,$command[1],trim($command[2]),$size);
}
if ($command[0] == "QueryRow") {
echo queryRow($board,trim($command[1]),$size) . "\n";
}
if ($command[0] == "QueryCol") {
echo queryCol($board,trim($command[1]),$size) . "\n";
}
}
fclose($fh);
?>