AtCoder Beginners SelectionのPHPでの解答例

[AtCoder Beginners Selection](https://qiita.com/drken/items/fd4e5e3630d0f5859067)をPHPで解いてみたのでメモしておきます。時間があったら、解説を加えていきたいです...。

（ないと思いますが）ご質問や、（あると思いますが）ご指摘があれば、コメント欄にてお願いします。

# Welcome to AtCoder
```php:PHP
<?php
    fscanf(STDIN, '%d', $a);
    fscanf(STDIN, '%d %d', $b, $c);
    fscanf(STDIN, '%s', $s);
    
    echo $a + $b + $c . " " . $s . "\n";
    
?>

```
# ABC086A - Product
```php:PHP
<?php
    fscanf(STDIN, "%d %d", $a, $b);
    $x = $a * $b;

    echo $x % 2 == 1 ? "Odd\n" : "Even\n"; //三項演算子。下記if文と同義。

    /*if ($x % 2 == 1) {
        echo "Odd";
    } else {
        echo "Even";
    }*/
?>

```

# ABC081A - Placing Marbles

```php:PHP
<?php
    fscanf(STDIN, "%s", $s);
    echo substr_count($s, "1") . "\n";
?>

```
# ABC081B - Shift only

```php:PHP
<?php
    fscanf(STDIN, '%d', $n);
    $array = explode(" ", trim(fgets(STDIN)));
    $n = count($array);
    $count = 0;
    $continue = TRUE;
    
    while ($continue == TRUE) {
        for ($i = 0; $i < $n; $i++) {
            $array[$i] = (int)$array[$i];
            if ($array[$i] % 2 == 1) {
                $continue = FALSE;
                break;
            }
            $array[$i] /= 2;
        }
        $continue == FALSE ? FALSE : $count++;
    } 
    
    echo $count . "\n";
```

# ABC087B - Coins

```php:PHP
<?php
    fscanf(STDIN, "%d", $a);
    fscanf(STDIN, "%d", $b);
    fscanf(STDIN, "%d", $c);
    fscanf(STDIN, "%d", $x);
    $count = 0;
    
    for ($i = 0; $i <= $a; $i++) {
        for ($j = 0; $j <= $b; $j++) {
            for ($k = 0; $k <= $c; $k++) {
                if (500 * $i + 100 * $j + 50 * $k == $x) {
                    $count++;
                }
            } 
        } 
    }
    
    echo $count . "\n";
```


# ABC083B - Some Sums

```php:PHP
<?php
    fscanf(STDIN, "%s %d %d", $n, $a, $b);
    
    for ($i = 1; $i <= $n; $i++) {
        $sum = array_sum(str_split($i, 1));
        if ($sum >= $a && $sum <= $b) {
            $array [] = $i;
        }
    }
   
    echo array_sum($array) . "\n";
  
```
`$array[] = $i;`のとこを`$count += $i;`でカウントアップしていくのもまた善し。


# ABC088B - Card Game for Two

```php:PHP
<?php
    fscanf(STDIN, "%d", $n);
    $stdin = explode(" ", trim(fgets(STDIN)));
    foreach ($stdin as $val) {
        $array [] = (int)$val;
    }
    rsort($array);
    $total = array_sum($array);
    $alice = 0;
    
    for ($i = 0; $i < $n; $i++) {
        if ($i % 2 == 0) {
            $alice += $array[$i];
        }
    }
    $bob = $total - $alice;
    echo $alice - $bob . "\n";
    
```

# ABC085B - Kagami Mochi

```php:PHP
<?php
    fscanf(STDIN, "%d", $n);
    for ($i = 0; $i < $n; $i++) {
        fscanf(STDIN, "%d", $array[$i]);
    }
    echo count(array_unique($array)) . "\n";
```

# ABC085C - Otoshidama

```php:PHP
<?php
    fscanf(STDIN, "%d %d", $n, $y);
    
    for ($i = 0; $i <= $n; $i++) {
        for ($j = 0; $i + $j <= $n; $j++) {
            $k = $n - $i - $j;
            if (10000 * $i + 5000 * $j + 1000 * $k === $y) {
                printf("%d %d %d", $i, $j, $k,) . "\n"; exit;
            }
        }
    }
    printf("%d %d %d", -1, -1, -1) . "\n";
    
```

# ABC049C - 白昼夢（Daydream）

```php:PHP
<?php
    fscanf(STDIN, "%s", $s);
    $s = strrev($s);
    while($s !== "") {
        if(substr($s, 0, 5) == "maerd") {
            $s = substr($s, 5);
            continue;
        }
        if(substr($s, 0, 7) == "remaerd") {
            $s = substr($s, 7);
            continue;
        } 
        if(substr($s, 0, 5) == "esare") {
            $s = substr($s, 5);
            continue;
        }
        if(substr($s, 0, 6) == "resare") {
            $s = substr($s, 6);
            continue;
        }
        echo "NO";
        exit();
    }
    echo "YES";
?>
```

# ABC086C - Traveling

```php:PHP
<?php
    fscanf(STDIN, "%d", $n);
    $t = 0;
    $xy = [0, 0];
    
    for ($i = 0; $i < $n; $i++) {
        fscanf(STDIN, "%d %d %d", $nt, $nxy[0], $nxy[1]);
        $dt = $nt - $t;
        $dxy = abs($nxy[0] - $xy[0]) + abs($nxy[1] - $xy[1]);
        if ($dt < $dxy) {
            exit("No\n");
        }
        if (($dt + $dxy) % 2 == 1) {
            exit("No\n");
        }
        $t = $nt;
        $xy = [$nxy[0], $nxy[1]];
    }
    
    echo "Yes\n";
```