From fbd4f2129ce8fe106391302896dd86e05b2f331b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 5 Dec 2025 04:08:22 +0900 Subject: add files --- archive/q/brainf-ck/a/1/index.html | 147 ++++ archive/q/brainf-ck/a/10/index.html | 110 +++ archive/q/brainf-ck/a/100/index.html | 91 +++ archive/q/brainf-ck/a/101/index.html | 91 +++ archive/q/brainf-ck/a/102/index.html | 90 +++ archive/q/brainf-ck/a/103/index.html | 90 +++ archive/q/brainf-ck/a/104/index.html | 90 +++ archive/q/brainf-ck/a/105/index.html | 90 +++ archive/q/brainf-ck/a/106/index.html | 91 +++ archive/q/brainf-ck/a/107/index.html | 91 +++ archive/q/brainf-ck/a/108/index.html | 92 +++ archive/q/brainf-ck/a/109/index.html | 91 +++ archive/q/brainf-ck/a/11/index.html | 147 ++++ archive/q/brainf-ck/a/12/index.html | 91 +++ archive/q/brainf-ck/a/13/index.html | 134 ++++ archive/q/brainf-ck/a/14/index.html | 123 +++ archive/q/brainf-ck/a/15/index.html | 123 +++ archive/q/brainf-ck/a/16/index.html | 117 +++ archive/q/brainf-ck/a/17/index.html | 91 +++ archive/q/brainf-ck/a/18/index.html | 147 ++++ archive/q/brainf-ck/a/19/index.html | 147 ++++ archive/q/brainf-ck/a/2/index.html | 147 ++++ archive/q/brainf-ck/a/20/index.html | 91 +++ archive/q/brainf-ck/a/21/index.html | 91 +++ archive/q/brainf-ck/a/22/index.html | 91 +++ archive/q/brainf-ck/a/23/index.html | 91 +++ archive/q/brainf-ck/a/24/index.html | 390 ++++++++++ archive/q/brainf-ck/a/25/index.html | 88 +++ archive/q/brainf-ck/a/26/index.html | 91 +++ archive/q/brainf-ck/a/27/index.html | 98 +++ archive/q/brainf-ck/a/28/index.html | 96 +++ archive/q/brainf-ck/a/29/index.html | 91 +++ archive/q/brainf-ck/a/3/index.html | 147 ++++ archive/q/brainf-ck/a/30/index.html | 91 +++ archive/q/brainf-ck/a/31/index.html | 91 +++ archive/q/brainf-ck/a/32/index.html | 91 +++ archive/q/brainf-ck/a/33/index.html | 103 +++ archive/q/brainf-ck/a/34/index.html | 91 +++ archive/q/brainf-ck/a/35/index.html | 88 +++ archive/q/brainf-ck/a/36/index.html | 91 +++ archive/q/brainf-ck/a/37/index.html | 91 +++ archive/q/brainf-ck/a/38/index.html | 91 +++ archive/q/brainf-ck/a/39/index.html | 91 +++ archive/q/brainf-ck/a/4/index.html | 100 +++ archive/q/brainf-ck/a/40/index.html | 91 +++ archive/q/brainf-ck/a/41/index.html | 91 +++ archive/q/brainf-ck/a/42/index.html | 91 +++ archive/q/brainf-ck/a/43/index.html | 118 +++ archive/q/brainf-ck/a/44/index.html | 118 +++ archive/q/brainf-ck/a/45/index.html | 91 +++ archive/q/brainf-ck/a/46/index.html | 96 +++ archive/q/brainf-ck/a/47/index.html | 91 +++ archive/q/brainf-ck/a/48/index.html | 142 ++++ archive/q/brainf-ck/a/49/index.html | 142 ++++ archive/q/brainf-ck/a/5/index.html | 99 +++ archive/q/brainf-ck/a/50/index.html | 147 ++++ archive/q/brainf-ck/a/51/index.html | 141 ++++ archive/q/brainf-ck/a/52/index.html | 149 ++++ archive/q/brainf-ck/a/53/index.html | 91 +++ archive/q/brainf-ck/a/54/index.html | 143 ++++ archive/q/brainf-ck/a/55/index.html | 128 ++++ archive/q/brainf-ck/a/56/index.html | 143 ++++ archive/q/brainf-ck/a/57/index.html | 91 +++ archive/q/brainf-ck/a/58/index.html | 91 +++ archive/q/brainf-ck/a/59/index.html | 147 ++++ archive/q/brainf-ck/a/6/index.html | 97 +++ archive/q/brainf-ck/a/60/index.html | 127 ++++ archive/q/brainf-ck/a/61/index.html | 94 +++ archive/q/brainf-ck/a/62/index.html | 147 ++++ archive/q/brainf-ck/a/63/index.html | 91 +++ archive/q/brainf-ck/a/64/index.html | 91 +++ archive/q/brainf-ck/a/65/index.html | 96 +++ archive/q/brainf-ck/a/66/index.html | 96 +++ archive/q/brainf-ck/a/67/index.html | 96 +++ archive/q/brainf-ck/a/68/index.html | 91 +++ archive/q/brainf-ck/a/69/index.html | 91 +++ archive/q/brainf-ck/a/7/index.html | 91 +++ archive/q/brainf-ck/a/70/index.html | 90 +++ archive/q/brainf-ck/a/71/index.html | 109 +++ archive/q/brainf-ck/a/72/index.html | 111 +++ archive/q/brainf-ck/a/73/index.html | 94 +++ archive/q/brainf-ck/a/74/index.html | 108 +++ archive/q/brainf-ck/a/75/index.html | 91 +++ archive/q/brainf-ck/a/76/index.html | 91 +++ archive/q/brainf-ck/a/77/index.html | 147 ++++ archive/q/brainf-ck/a/78/index.html | 91 +++ archive/q/brainf-ck/a/79/index.html | 91 +++ archive/q/brainf-ck/a/8/index.html | 100 +++ archive/q/brainf-ck/a/80/index.html | 91 +++ archive/q/brainf-ck/a/81/index.html | 105 +++ archive/q/brainf-ck/a/82/index.html | 91 +++ archive/q/brainf-ck/a/83/index.html | 91 +++ archive/q/brainf-ck/a/84/index.html | 91 +++ archive/q/brainf-ck/a/85/index.html | 95 +++ archive/q/brainf-ck/a/86/index.html | 91 +++ archive/q/brainf-ck/a/87/index.html | 86 +++ archive/q/brainf-ck/a/88/index.html | 91 +++ archive/q/brainf-ck/a/89/index.html | 91 +++ archive/q/brainf-ck/a/9/index.html | 100 +++ archive/q/brainf-ck/a/90/index.html | 102 +++ archive/q/brainf-ck/a/91/index.html | 108 +++ archive/q/brainf-ck/a/92/index.html | 257 +++++++ archive/q/brainf-ck/a/93/index.html | 251 +++++++ archive/q/brainf-ck/a/94/index.html | 96 +++ archive/q/brainf-ck/a/95/index.html | 96 +++ archive/q/brainf-ck/a/96/index.html | 96 +++ archive/q/brainf-ck/a/97/index.html | 91 +++ archive/q/brainf-ck/a/98/index.html | 91 +++ archive/q/brainf-ck/a/99/index.html | 147 ++++ archive/q/brainf-ck/a/index.html | 1364 ++++++++++++++++++++++++++++++++++ archive/q/brainf-ck/index.html | 227 ++++++ 111 files changed, 13536 insertions(+) create mode 100644 archive/q/brainf-ck/a/1/index.html create mode 100644 archive/q/brainf-ck/a/10/index.html create mode 100644 archive/q/brainf-ck/a/100/index.html create mode 100644 archive/q/brainf-ck/a/101/index.html create mode 100644 archive/q/brainf-ck/a/102/index.html create mode 100644 archive/q/brainf-ck/a/103/index.html create mode 100644 archive/q/brainf-ck/a/104/index.html create mode 100644 archive/q/brainf-ck/a/105/index.html create mode 100644 archive/q/brainf-ck/a/106/index.html create mode 100644 archive/q/brainf-ck/a/107/index.html create mode 100644 archive/q/brainf-ck/a/108/index.html create mode 100644 archive/q/brainf-ck/a/109/index.html create mode 100644 archive/q/brainf-ck/a/11/index.html create mode 100644 archive/q/brainf-ck/a/12/index.html create mode 100644 archive/q/brainf-ck/a/13/index.html create mode 100644 archive/q/brainf-ck/a/14/index.html create mode 100644 archive/q/brainf-ck/a/15/index.html create mode 100644 archive/q/brainf-ck/a/16/index.html create mode 100644 archive/q/brainf-ck/a/17/index.html create mode 100644 archive/q/brainf-ck/a/18/index.html create mode 100644 archive/q/brainf-ck/a/19/index.html create mode 100644 archive/q/brainf-ck/a/2/index.html create mode 100644 archive/q/brainf-ck/a/20/index.html create mode 100644 archive/q/brainf-ck/a/21/index.html create mode 100644 archive/q/brainf-ck/a/22/index.html create mode 100644 archive/q/brainf-ck/a/23/index.html create mode 100644 archive/q/brainf-ck/a/24/index.html create mode 100644 archive/q/brainf-ck/a/25/index.html create mode 100644 archive/q/brainf-ck/a/26/index.html create mode 100644 archive/q/brainf-ck/a/27/index.html create mode 100644 archive/q/brainf-ck/a/28/index.html create mode 100644 archive/q/brainf-ck/a/29/index.html create mode 100644 archive/q/brainf-ck/a/3/index.html create mode 100644 archive/q/brainf-ck/a/30/index.html create mode 100644 archive/q/brainf-ck/a/31/index.html create mode 100644 archive/q/brainf-ck/a/32/index.html create mode 100644 archive/q/brainf-ck/a/33/index.html create mode 100644 archive/q/brainf-ck/a/34/index.html create mode 100644 archive/q/brainf-ck/a/35/index.html create mode 100644 archive/q/brainf-ck/a/36/index.html create mode 100644 archive/q/brainf-ck/a/37/index.html create mode 100644 archive/q/brainf-ck/a/38/index.html create mode 100644 archive/q/brainf-ck/a/39/index.html create mode 100644 archive/q/brainf-ck/a/4/index.html create mode 100644 archive/q/brainf-ck/a/40/index.html create mode 100644 archive/q/brainf-ck/a/41/index.html create mode 100644 archive/q/brainf-ck/a/42/index.html create mode 100644 archive/q/brainf-ck/a/43/index.html create mode 100644 archive/q/brainf-ck/a/44/index.html create mode 100644 archive/q/brainf-ck/a/45/index.html create mode 100644 archive/q/brainf-ck/a/46/index.html create mode 100644 archive/q/brainf-ck/a/47/index.html create mode 100644 archive/q/brainf-ck/a/48/index.html create mode 100644 archive/q/brainf-ck/a/49/index.html create mode 100644 archive/q/brainf-ck/a/5/index.html create mode 100644 archive/q/brainf-ck/a/50/index.html create mode 100644 archive/q/brainf-ck/a/51/index.html create mode 100644 archive/q/brainf-ck/a/52/index.html create mode 100644 archive/q/brainf-ck/a/53/index.html create mode 100644 archive/q/brainf-ck/a/54/index.html create mode 100644 archive/q/brainf-ck/a/55/index.html create mode 100644 archive/q/brainf-ck/a/56/index.html create mode 100644 archive/q/brainf-ck/a/57/index.html create mode 100644 archive/q/brainf-ck/a/58/index.html create mode 100644 archive/q/brainf-ck/a/59/index.html create mode 100644 archive/q/brainf-ck/a/6/index.html create mode 100644 archive/q/brainf-ck/a/60/index.html create mode 100644 archive/q/brainf-ck/a/61/index.html create mode 100644 archive/q/brainf-ck/a/62/index.html create mode 100644 archive/q/brainf-ck/a/63/index.html create mode 100644 archive/q/brainf-ck/a/64/index.html create mode 100644 archive/q/brainf-ck/a/65/index.html create mode 100644 archive/q/brainf-ck/a/66/index.html create mode 100644 archive/q/brainf-ck/a/67/index.html create mode 100644 archive/q/brainf-ck/a/68/index.html create mode 100644 archive/q/brainf-ck/a/69/index.html create mode 100644 archive/q/brainf-ck/a/7/index.html create mode 100644 archive/q/brainf-ck/a/70/index.html create mode 100644 archive/q/brainf-ck/a/71/index.html create mode 100644 archive/q/brainf-ck/a/72/index.html create mode 100644 archive/q/brainf-ck/a/73/index.html create mode 100644 archive/q/brainf-ck/a/74/index.html create mode 100644 archive/q/brainf-ck/a/75/index.html create mode 100644 archive/q/brainf-ck/a/76/index.html create mode 100644 archive/q/brainf-ck/a/77/index.html create mode 100644 archive/q/brainf-ck/a/78/index.html create mode 100644 archive/q/brainf-ck/a/79/index.html create mode 100644 archive/q/brainf-ck/a/8/index.html create mode 100644 archive/q/brainf-ck/a/80/index.html create mode 100644 archive/q/brainf-ck/a/81/index.html create mode 100644 archive/q/brainf-ck/a/82/index.html create mode 100644 archive/q/brainf-ck/a/83/index.html create mode 100644 archive/q/brainf-ck/a/84/index.html create mode 100644 archive/q/brainf-ck/a/85/index.html create mode 100644 archive/q/brainf-ck/a/86/index.html create mode 100644 archive/q/brainf-ck/a/87/index.html create mode 100644 archive/q/brainf-ck/a/88/index.html create mode 100644 archive/q/brainf-ck/a/89/index.html create mode 100644 archive/q/brainf-ck/a/9/index.html create mode 100644 archive/q/brainf-ck/a/90/index.html create mode 100644 archive/q/brainf-ck/a/91/index.html create mode 100644 archive/q/brainf-ck/a/92/index.html create mode 100644 archive/q/brainf-ck/a/93/index.html create mode 100644 archive/q/brainf-ck/a/94/index.html create mode 100644 archive/q/brainf-ck/a/95/index.html create mode 100644 archive/q/brainf-ck/a/96/index.html create mode 100644 archive/q/brainf-ck/a/97/index.html create mode 100644 archive/q/brainf-ck/a/98/index.html create mode 100644 archive/q/brainf-ck/a/99/index.html create mode 100644 archive/q/brainf-ck/a/index.html create mode 100644 archive/q/brainf-ck/index.html (limited to 'archive/q/brainf-ck') diff --git a/archive/q/brainf-ck/a/1/index.html b/archive/q/brainf-ck/a/1/index.html new file mode 100644 index 0000000..e6aac0e --- /dev/null +++ b/archive/q/brainf-ck/a/1/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #1 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #1

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #1

+

+ nsfisis が 2024-03-06 03:57:49 に投稿 +

+

コード

+

+ 1043 byte +

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/10/index.html b/archive/q/brainf-ck/a/10/index.html new file mode 100644 index 0000000..837dcdc --- /dev/null +++ b/archive/q/brainf-ck/a/10/index.html @@ -0,0 +1,110 @@ + + + + + 問題 #3 - 回答 #10 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #10

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #10

+

+ tadsan が 2024-03-07 16:19:25 に投稿 +

+

コード

+

+ 360 byte +

+
$c=$p=0;while($c<strlen($s)){$m[$p]??=0;switch($s[$c]){
+case'>':$p++;break;
+case'<':$p--;break;
+case'+':$m[$p]++;break;
+case'-':$m[$p]--;break;
+case'.':echo chr($m[$p]);break;
+case'[':if(!$m[$p]){$d=1;while($d>0)match($s[++$c]){'['=>$d++,']'=>$d--,default=>0};}break;
+case']':if($m[$p]){$d=1;while($d>0)match($s[--$c]){']'=>$d++,'['=>$d--,default=>0};}}$c++;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $s in php.wasm code on line 6
+
+Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $s in php.wasm code on line 6
+
+Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $s in php.wasm code on line 6
+
+Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/100/index.html b/archive/q/brainf-ck/a/100/index.html new file mode 100644 index 0000000..d3caa59 --- /dev/null +++ b/archive/q/brainf-ck/a/100/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #100 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #100

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #100

+

+ takaram が 2024-03-09 14:33:18 に投稿 +

+

コード

+

+ 262 byte +

+
$s=fread(STDIN,999);$p=-1;function l($s,&$p,$r){for($d=1;$d+=["["=>$r,"]"=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;){$a=&$m[$t];match(ord($s[$p])){62=>$t++,60=>$t--,43=>$a++,45=>$a--,46=>print chr($a),91=>$a||l($s,$p,1),93=>$a&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
PHPerKaig
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
グレゴール
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/101/index.html b/archive/q/brainf-ck/a/101/index.html new file mode 100644 index 0000000..6725800 --- /dev/null +++ b/archive/q/brainf-ck/a/101/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #101 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #101

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #101

+

+ takaram が 2024-03-09 14:33:37 に投稿 +

+

コード

+

+ 263 byte +

+
$s=fread(STDIN,9999);$p=-1;function l($s,&$p,$r){for($d=1;$d+=["["=>$r,"]"=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;){$a=&$m[$t];match(ord($s[$p])){62=>$t++,60=>$t--,43=>$a++,45=>$a--,46=>print chr($a),91=>$a||l($s,$p,1),93=>$a&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/102/index.html b/archive/q/brainf-ck/a/102/index.html new file mode 100644 index 0000000..95822af --- /dev/null +++ b/archive/q/brainf-ck/a/102/index.html @@ -0,0 +1,90 @@ + + + + + 問題 #3 - 回答 #102 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #102

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #102

+

+ m3m0r7 が 2024-03-09 14:42:46 に投稿 +

+

コード

+

+ 271 byte +

+
for($s=fgets(STDIN),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
P
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/103/index.html b/archive/q/brainf-ck/a/103/index.html new file mode 100644 index 0000000..e2e80eb --- /dev/null +++ b/archive/q/brainf-ck/a/103/index.html @@ -0,0 +1,90 @@ + + + + + 問題 #3 - 回答 #103 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #103

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #103

+

+ m3m0r7 が 2024-03-09 14:43:05 に投稿 +

+

コード

+

+ 273 byte +

+
for($s=fgets(STDIN),$q=0,$m=[],$p=0;$q<strlen($s)-1;$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
P
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/104/index.html b/archive/q/brainf-ck/a/104/index.html new file mode 100644 index 0000000..81b0a9a --- /dev/null +++ b/archive/q/brainf-ck/a/104/index.html @@ -0,0 +1,90 @@ + + + + + 問題 #3 - 回答 #104 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #104

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #104

+

+ m3m0r7 が 2024-03-09 14:43:47 に投稿 +

+

コード

+

+ 271 byte +

+
for($s=fgets(STDIN),$q=1,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
O
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/105/index.html b/archive/q/brainf-ck/a/105/index.html new file mode 100644 index 0000000..0056ea1 --- /dev/null +++ b/archive/q/brainf-ck/a/105/index.html @@ -0,0 +1,90 @@ + + + + + 問題 #3 - 回答 #105 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #105

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #105

+

+ m3m0r7 が 2024-03-09 14:44:45 に投稿 +

+

コード

+

+ 273 byte +

+
for($s=fgets(STDIN),$q=0,$m=[],$p=0;$q<strlen($s)-2;$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
P
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/106/index.html b/archive/q/brainf-ck/a/106/index.html new file mode 100644 index 0000000..8f3c842 --- /dev/null +++ b/archive/q/brainf-ck/a/106/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #106 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #106

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #106

+

+ m3m0r7 が 2024-03-09 14:49:33 に投稿 +

+

コード

+

+ 275 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/107/index.html b/archive/q/brainf-ck/a/107/index.html new file mode 100644 index 0000000..ff7e0fc --- /dev/null +++ b/archive/q/brainf-ck/a/107/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #107 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #107

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #107

+

+ m3m0r7 が 2024-03-09 14:50:06 に投稿 +

+

コード

+

+ 273 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>--$m[$p],default=>$d=1},$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/108/index.html b/archive/q/brainf-ck/a/108/index.html new file mode 100644 index 0000000..3be8024 --- /dev/null +++ b/archive/q/brainf-ck/a/108/index.html @@ -0,0 +1,92 @@ + + + + + 問題 #3 - 回答 #108 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #108

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #108

+

+ hanhan1978 が 2024-03-09 15:22:11 に投稿 +

+

コード

+

+ 397 byte +

+
$s=stream_get_contents(STDIN);
+for($p=$r=0,$m=[];$p<strlen($s);$p++)switch($s[$p]){case'>':$r++;break;case'<':$r--;break;case '+':$m[$r]=($m[$r]??0)+1;break;case '-':$m[$r]=($m[$r]??0)-1;break;case '.':echo chr($m[$r]);break;case '[':if(!($m[$r]??0)){for($d=1;$d&&++$p;$d+=$s[$p]==']'?-1:($s[$p]=='['));}break;case']':if($m[$r]??0){for($d=1;$d&&$p--;$d+=$s[$p]=='['?-1:($s[$p]==']'));$p--;}break;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/109/index.html b/archive/q/brainf-ck/a/109/index.html new file mode 100644 index 0000000..47fb83a --- /dev/null +++ b/archive/q/brainf-ck/a/109/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #109 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #109

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #109

+

+ hanhan1978 が 2024-03-09 15:33:46 に投稿 +

+

コード

+

+ 392 byte +

+
$s=stream_get_contents(STDIN);for($p=$r=0,$m=[];$p<strlen($s);$p++)switch($s[$p]){case'>':$r++;break;case'<':$r--;break;case'+':$m[$r]=($m[$r]??0)+1;break;case'-':$m[$r]=($m[$r]??0)-1;break;case'.':echo chr($m[$r]);break;case'[':if(!($m[$r]??0)){for($d=1;$d&&++$p;$d+=$s[$p]==']'?-1:($s[$p]=='['));}break;case']':if($m[$r]??0){for($d=1;$d&&$p--;$d+=$s[$p]=='['?-1:($s[$p]==']'));$p--;}break;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/11/index.html b/archive/q/brainf-ck/a/11/index.html new file mode 100644 index 0000000..de42585 --- /dev/null +++ b/archive/q/brainf-ck/a/11/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #11 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #11

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #11

+

+ yamamoto-hiroya が 2024-03-08 00:28:28 に投稿 +

+

コード

+

+ 1043 byte +

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/12/index.html b/archive/q/brainf-ck/a/12/index.html new file mode 100644 index 0000000..fa95d0e --- /dev/null +++ b/archive/q/brainf-ck/a/12/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #12 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #12

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #12

+

+ yamamoto-hiroya が 2024-03-08 01:18:12 に投稿 +

+

コード

+

+ 499 byte +

+
$s=stream_get_contents(STDIN);$p=0;$m=[];$r=0;while($p<strlen($s)){switch($s[$p]){case'>':$r++;break;case'<':$r--;break;case'+':if(!isset($m[$r])){$m[$r]=0;}$m[$r]++;break;case'-':if(!isset($m[$r])){$m[$r]=0;}$m[$r]--;break;case'.':echo chr($m[$r]);break;case'[':if(!isset($m[$r])||$m[$r]===0){$d=1;while($d>0){$p++;if($s[$p]==='['){$d++;}elseif($s[$p]===']'){$d--;}}}break;case']':if(isset($m[$r])&&$m[$r]!==0){$d=1;while($d>0){$p--;if($s[$p]===']'){$d++;}elseif($s[$p]==='['){$d--;}}}break;}$p++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/13/index.html b/archive/q/brainf-ck/a/13/index.html new file mode 100644 index 0000000..98b2e7b --- /dev/null +++ b/archive/q/brainf-ck/a/13/index.html @@ -0,0 +1,134 @@ + + + + + 問題 #3 - 回答 #13 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #13

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #13

+

+ yamamoto-hiroya が 2024-03-08 01:43:52 に投稿 +

+

コード

+

+ 712 byte +

+
$s=stream_get_contents(STDIN);$p=$r=0;$m=[];
+
+while($p<strlen($s)){
+  $a=$s[$p];
+  $a=='>'?$r++:($a=='<'?$r--:'');
+  if($a=='+'){
+    if(empty($m[$r]))$m[$r]=0;
+    $m[$r]++;
+  }
+  if($a=='-'){
+    if(empty($m[$r]))$m[$r]=0;
+    $m[$r]--;
+  }
+  if($a=='.')echo chr($m[$r]);
+  if($a=='['){
+    if(empty($m[$r])||$m[$r]==0){
+      $d=1;
+      while($d>0){
+        $p++;
+        if($s[$p]=='['){
+          $d++;
+        }
+        if($s[$p]==']'){
+          $d--;
+        }
+      }
+    }
+  }
+  if($a==']'){
+    if(isset($m[$r])&&$m[$r]!==0){
+      $d=1;
+      while($d>0){
+        $p--;
+        if($s[$p]==']'){
+          $d++;
+        }
+        if($s[$p]=='['){
+          $d--;
+        }
+      }
+    }
+  }
+  $p++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/14/index.html b/archive/q/brainf-ck/a/14/index.html new file mode 100644 index 0000000..740e164 --- /dev/null +++ b/archive/q/brainf-ck/a/14/index.html @@ -0,0 +1,123 @@ + + + + + 問題 #3 - 回答 #14 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #14

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #14

+

+ yamamoto-hiroya が 2024-03-08 01:56:49 に投稿 +

+

コード

+

+ 603 byte +

+
$s=stream_get_contents(STDIN);$p=$r=0;$m=[];
+while($p<strlen($s)){
+  $a=$s[$p];
+  $a=='>'?$r++:($a=='<'?$r--:'');
+  if($a=='+'){
+    if(empty($m[$r]))$m[$r]=0;
+    $m[$r]++;
+  }
+  if($a=='-'){
+    if(empty($m[$r]))$m[$r]=0;
+    $m[$r]--;
+  }
+  if($a=='.')echo chr($m[$r]);
+  if($a=='['){
+    if(empty($m[$r])||$m[$r]==0){
+      $d=1;
+      while($d>0){
+        $p++;
+        $s[$p]=='['?$d++:($s[$p]==']'?$d--:'');
+      }
+    }
+  }
+  if($a==']'){
+    if(isset($m[$r])&&$m[$r]!==0){
+      $d=1;
+      while($d>0){
+        $p--;
+        $s[$p]==']'?$d++:($s[$p]=='['?$d--:'');
+      }
+    }
+  }
+  $p++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/15/index.html b/archive/q/brainf-ck/a/15/index.html new file mode 100644 index 0000000..0094c3b --- /dev/null +++ b/archive/q/brainf-ck/a/15/index.html @@ -0,0 +1,123 @@ + + + + + 問題 #3 - 回答 #15 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #15

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #15

+

+ yamamoto-hiroya が 2024-03-08 02:00:12 に投稿 +

+

コード

+

+ 585 byte +

+
$s=stream_get_contents(STDIN);$p=$r=0;$m=[];
+while($p<strlen($s)){
+  $a=$s[$p];
+  $a=='>'?$r++:($a=='<'?$r--:'');
+  if($a=='+'){
+    $m[$r]=$m[$r]??0;
+    $m[$r]++;
+  }
+  if($a=='-'){
+    $m[$r]=$m[$r]??0;
+    $m[$r]--;
+  }
+  if($a=='.')echo chr($m[$r]);
+  if($a=='['){
+    if(empty($m[$r])||$m[$r]==0){
+      $d=1;
+      while($d>0){
+        $p++;
+        $s[$p]=='['?$d++:($s[$p]==']'?$d--:'');
+      }
+    }
+  }
+  if($a==']'){
+    if(isset($m[$r])&&$m[$r]!==0){
+      $d=1;
+      while($d>0){
+        $p--;
+        $s[$p]==']'?$d++:($s[$p]=='['?$d--:'');
+      }
+    }
+  }
+  $p++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/16/index.html b/archive/q/brainf-ck/a/16/index.html new file mode 100644 index 0000000..d9d9bf5 --- /dev/null +++ b/archive/q/brainf-ck/a/16/index.html @@ -0,0 +1,117 @@ + + + + + 問題 #3 - 回答 #16 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #16

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #16

+

+ yamamoto-hiroya が 2024-03-08 02:02:02 に投稿 +

+

コード

+

+ 545 byte +

+
$s=stream_get_contents(STDIN);$p=$r=0;$m=[];
+while($p<strlen($s)){
+  $a=$s[$p];
+  $a=='>'?$r++:($a=='<'?$r--:'');
+  if($a=='+')$m[$r]=($m[$r]??0)+1;
+  if($a=='-')$m[$r]=($m[$r]??0)-1;
+  if($a=='.')echo chr($m[$r]);
+  if($a=='['){
+    if(empty($m[$r])||$m[$r]==0){
+      $d=1;
+      while($d>0){
+        $p++;
+        $s[$p]=='['?$d++:($s[$p]==']'?$d--:'');
+      }
+    }
+  }
+  if($a==']'){
+    if(isset($m[$r])&&$m[$r]!==0){
+      $d=1;
+      while($d>0){
+        $p--;
+        $s[$p]==']'?$d++:($s[$p]=='['?$d--:'');
+      }
+    }
+  }
+  $p++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/17/index.html b/archive/q/brainf-ck/a/17/index.html new file mode 100644 index 0000000..00af6f7 --- /dev/null +++ b/archive/q/brainf-ck/a/17/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #17 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #17

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #17

+

+ yamamoto-hiroya が 2024-03-08 02:05:50 に投稿 +

+

コード

+

+ 415 byte +

+
$s=stream_get_contents(STDIN);$p=$r=0;$m=[];while($p<strlen($s)){$a=$s[$p];$a=='>'?$r++:($a=='<'?$r--:'');if($a=='+')$m[$r]=($m[$r]??0)+1;if($a=='-')$m[$r]=($m[$r]??0)-1;if($a=='.')echo chr($m[$r]);if($a=='['){if(empty($m[$r])||$m[$r]==0){$d=1;while($d>0){$p++;$s[$p]=='['?$d++:($s[$p]==']'?$d--:'');}}}if($a==']'){if(isset($m[$r])&&$m[$r]!==0){$d=1;while($d>0){$p--;$s[$p]==']'?$d++:($s[$p]=='['?$d--:'');}}}$p++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/18/index.html b/archive/q/brainf-ck/a/18/index.html new file mode 100644 index 0000000..5fee30f --- /dev/null +++ b/archive/q/brainf-ck/a/18/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #18 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #18

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #18

+

+ kunikiya が 2024-03-08 02:38:10 に投稿 +

+

コード

+

+ 1043 byte +

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/19/index.html b/archive/q/brainf-ck/a/19/index.html new file mode 100644 index 0000000..b1781db --- /dev/null +++ b/archive/q/brainf-ck/a/19/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #19 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #19

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #19

+

+ kunikiya が 2024-03-08 02:40:04 に投稿 +

+

コード

+

+ 696 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$ptr = 0;
+
+while ($pc < strlen($s)) {
+switch ($s[$pc]) {
+case '>':
+$ptr++;
+break;
+case '<':
+$ptr--;
+break;
+case '+':
+if (!isset($m[$ptr])) {
+$m[$ptr] = 0;
+}
+$m[$ptr]++;
+break;
+case '-':
+if (!isset($m[$ptr])) {
+$m[$ptr] = 0;
+}
+$m[$ptr]--;
+break;
+case '.':
+echo chr($m[$ptr]);
+break;
+case '[':
+if (!isset($m[$ptr]) || $m[$ptr] === 0) {
+$depth = 1;
+while ($depth > 0) {
+$pc++;
+if ($s[$pc] === '[') {
+$depth++;
+} elseif ($s[$pc] === ']') {
+$depth--;
+}
+}
+}
+break;
+case ']':
+if (isset($m[$ptr]) && $m[$ptr] !== 0) {
+$depth = 1;
+while ($depth > 0) {
+$pc--;
+if ($s[$pc] === ']') {
+$depth++;
+} elseif ($s[$pc] === '[') {
+$depth--;
+}
+}
+}
+break;
+}
+$pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/2/index.html b/archive/q/brainf-ck/a/2/index.html new file mode 100644 index 0000000..f62e907 --- /dev/null +++ b/archive/q/brainf-ck/a/2/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #2 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #2

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #2

+

+ blue-goheimochi が 2024-03-06 08:26:28 に投稿 +

+

コード

+

+ 1043 byte +

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/20/index.html b/archive/q/brainf-ck/a/20/index.html new file mode 100644 index 0000000..f1f3532 --- /dev/null +++ b/archive/q/brainf-ck/a/20/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #20 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #20

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #20

+

+ kunikiya が 2024-03-08 02:43:32 に投稿 +

+

コード

+

+ 569 byte +

+
$s=stream_get_contents(STDIN);$pc=0;$m=[];$ptr=0;while($pc<strlen($s)){switch($s[$pc]){case'>':$ptr++;break;case'<':$ptr--;break;case'+':if(!isset($m[$ptr])){$m[$ptr]=0;}$m[$ptr]++;break;case'-':if(!isset($m[$ptr])){$m[$ptr]=0;}$m[$ptr]--;break;case'.':echo chr($m[$ptr]);break;case'[':if(!isset($m[$ptr])||$m[$ptr]===0){$depth=1;while($depth>0){$pc++;if($s[$pc]==='['){$depth++;}elseif($s[$pc]===']'){$depth--;}}}break;case']':if(isset($m[$ptr])&&$m[$ptr]!==0){$depth=1;while($depth>0){$pc--;if($s[$pc]===']'){$depth++;}elseif($s[$pc]==='['){$depth--;}}}break;}$pc++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/21/index.html b/archive/q/brainf-ck/a/21/index.html new file mode 100644 index 0000000..ca26948 --- /dev/null +++ b/archive/q/brainf-ck/a/21/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #21 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #21

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #21

+

+ kunikiya が 2024-03-08 02:44:40 に投稿 +

+

コード

+

+ 509 byte +

+
$s=stream_get_contents(STDIN);$pc=0;$m=[];$p=0;while($pc<strlen($s)){switch($s[$pc]){case'>':$p++;break;case'<':$p--;break;case'+':if(!isset($m[$p])){$m[$p]=0;}$m[$p]++;break;case'-':if(!isset($m[$p])){$m[$p]=0;}$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!isset($m[$p])||$m[$p]===0){$d=1;while($d>0){$pc++;if($s[$pc]==='['){$d++;}elseif($s[$pc]===']'){$d--;}}}break;case']':if(isset($m[$p])&&$m[$p]!==0){$d=1;while($d>0){$pc--;if($s[$pc]===']'){$d++;}elseif($s[$pc]==='['){$d--;}}}break;}$pc++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/22/index.html b/archive/q/brainf-ck/a/22/index.html new file mode 100644 index 0000000..adfa0ec --- /dev/null +++ b/archive/q/brainf-ck/a/22/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #22 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #22

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #22

+

+ kunikiya が 2024-03-08 02:45:37 に投稿 +

+

コード

+

+ 499 byte +

+
$s=stream_get_contents(STDIN);$c=0;$m=[];$p=0;while($c<strlen($s)){switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':if(!isset($m[$p])){$m[$p]=0;}$m[$p]++;break;case'-':if(!isset($m[$p])){$m[$p]=0;}$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!isset($m[$p])||$m[$p]===0){$d=1;while($d>0){$c++;if($s[$c]==='['){$d++;}elseif($s[$c]===']'){$d--;}}}break;case']':if(isset($m[$p])&&$m[$p]!==0){$d=1;while($d>0){$c--;if($s[$c]===']'){$d++;}elseif($s[$c]==='['){$d--;}}}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/23/index.html b/archive/q/brainf-ck/a/23/index.html new file mode 100644 index 0000000..8f3de00 --- /dev/null +++ b/archive/q/brainf-ck/a/23/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #23 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #23

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #23

+

+ kunikiya が 2024-03-08 02:48:15 に投稿 +

+

コード

+

+ 495 byte +

+
$s=stream_get_contents(STDIN);$m=[];$p=0;for($c=0;$c<strlen($s);$c++)switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':if(!isset($m[$p])){$m[$p]=0;}$m[$p]++;break;case'-':if(!isset($m[$p])){$m[$p]=0;}$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!isset($m[$p])||$m[$p]===0){$d=1;while($d>0){$c++;if($s[$c]==='['){$d++;}elseif($s[$c]===']'){$d--;}}}break;case']':if(isset($m[$p])&&$m[$p]!==0){$d=1;while($d>0){$c--;if($s[$c]===']'){$d++;}elseif($s[$c]==='['){$d--;}}}break;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/24/index.html b/archive/q/brainf-ck/a/24/index.html new file mode 100644 index 0000000..ff5fb07 --- /dev/null +++ b/archive/q/brainf-ck/a/24/index.html @@ -0,0 +1,390 @@ + + + + + 問題 #3 - 回答 #24 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #24

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #24

+

+ tadsan が 2024-03-08 03:19:00 に投稿 +

+

コード

+

+ 72 byte +

+
foreach(range(1,100)as$i)echo($i%3?'':'Fizz').($i%5?'':'Buzz')?:$i,"\n";
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+
1
+2
+Fizz
+4
+Buzz
+Fizz
+7
+8
+Fizz
+Buzz
+11
+Fizz
+13
+14
+FizzBuzz
+16
+17
+Fizz
+19
+Buzz
+Fizz
+22
+23
+Fizz
+Buzz
+26
+Fizz
+28
+29
+FizzBuzz
+31
+32
+Fizz
+34
+Buzz
+Fizz
+37
+38
+Fizz
+Buzz
+41
+Fizz
+43
+44
+FizzBuzz
+46
+47
+Fizz
+49
+Buzz
+Fizz
+52
+53
+Fizz
+Buzz
+56
+Fizz
+58
+59
+FizzBuzz
+61
+62
+Fizz
+64
+Buzz
+Fizz
+67
+68
+Fizz
+Buzz
+71
+Fizz
+73
+74
+FizzBuzz
+76
+77
+Fizz
+79
+Buzz
+Fizz
+82
+83
+Fizz
+Buzz
+86
+Fizz
+88
+89
+FizzBuzz
+91
+92
+Fizz
+94
+Buzz
+Fizz
+97
+98
+Fizz
+Buzz
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
1
+2
+Fizz
+4
+Buzz
+Fizz
+7
+8
+Fizz
+Buzz
+11
+Fizz
+13
+14
+FizzBuzz
+16
+17
+Fizz
+19
+Buzz
+Fizz
+22
+23
+Fizz
+Buzz
+26
+Fizz
+28
+29
+FizzBuzz
+31
+32
+Fizz
+34
+Buzz
+Fizz
+37
+38
+Fizz
+Buzz
+41
+Fizz
+43
+44
+FizzBuzz
+46
+47
+Fizz
+49
+Buzz
+Fizz
+52
+53
+Fizz
+Buzz
+56
+Fizz
+58
+59
+FizzBuzz
+61
+62
+Fizz
+64
+Buzz
+Fizz
+67
+68
+Fizz
+Buzz
+71
+Fizz
+73
+74
+FizzBuzz
+76
+77
+Fizz
+79
+Buzz
+Fizz
+82
+83
+Fizz
+Buzz
+86
+Fizz
+88
+89
+FizzBuzz
+91
+92
+Fizz
+94
+Buzz
+Fizz
+97
+98
+Fizz
+Buzz
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
1
+2
+Fizz
+4
+Buzz
+Fizz
+7
+8
+Fizz
+Buzz
+11
+Fizz
+13
+14
+FizzBuzz
+16
+17
+Fizz
+19
+Buzz
+Fizz
+22
+23
+Fizz
+Buzz
+26
+Fizz
+28
+29
+FizzBuzz
+31
+32
+Fizz
+34
+Buzz
+Fizz
+37
+38
+Fizz
+Buzz
+41
+Fizz
+43
+44
+FizzBuzz
+46
+47
+Fizz
+49
+Buzz
+Fizz
+52
+53
+Fizz
+Buzz
+56
+Fizz
+58
+59
+FizzBuzz
+61
+62
+Fizz
+64
+Buzz
+Fizz
+67
+68
+Fizz
+Buzz
+71
+Fizz
+73
+74
+FizzBuzz
+76
+77
+Fizz
+79
+Buzz
+Fizz
+82
+83
+Fizz
+Buzz
+86
+Fizz
+88
+89
+FizzBuzz
+91
+92
+Fizz
+94
+Buzz
+Fizz
+97
+98
+Fizz
+Buzz
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/25/index.html b/archive/q/brainf-ck/a/25/index.html new file mode 100644 index 0000000..f386be0 --- /dev/null +++ b/archive/q/brainf-ck/a/25/index.html @@ -0,0 +1,88 @@ + + + + + 問題 #3 - 回答 #25 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #25

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #25

+

+ tadsan が 2024-03-08 04:22:52 に投稿 +

+

コード

+

+ 385 byte +

+
$s=fread(STDIN,9999);$c=$p=0;while($c<strlen($s)){$m[$p]??=0;switch($s[$c]) {case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if($m[$p]){$d=1;while($d>0){$c++;if($s[$c]=='[')$d++;elseif($s[$c]==']')$d--;}}break;case']':if($m[$p]){$d=1;while($d>0){$c--;if($s[$c]==']')$d++;elseif($s[$c]=='[')$d--;}}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/26/index.html b/archive/q/brainf-ck/a/26/index.html new file mode 100644 index 0000000..58471ba --- /dev/null +++ b/archive/q/brainf-ck/a/26/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #26 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #26

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #26

+

+ tadsan が 2024-03-08 04:27:26 に投稿 +

+

コード

+

+ 385 byte +

+
$s=fread(STDIN,9999);$c=$p=0;while($c<strlen($s)){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p]){$d=1;while($d>0){$c++;if($s[$c]=='[')$d++;elseif($s[$c]==']')$d--;}}break;case']':if($m[$p]){$d=1;while($d>0){$c--;if($s[$c]==']')$d++;elseif($s[$c]=='[')$d--;}}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/27/index.html b/archive/q/brainf-ck/a/27/index.html new file mode 100644 index 0000000..1b6d354 --- /dev/null +++ b/archive/q/brainf-ck/a/27/index.html @@ -0,0 +1,98 @@ + + + + + 問題 #3 - 回答 #27 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #27

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #27

+

+ tadsan が 2024-03-08 04:37:11 に投稿 +

+

コード

+

+ 380 byte +

+
$s=fread(STDIN,9999);$c=$p=0;while($c<strlen($s)){$m[$p]??=0;match($s[$c]){'>'=>$p++,'<'=>$p--,'+'=>$m[$p]++,'-'=>$m[$p]--,'.'=>print chr($m[$p]),'['=>(function()use(&$c,&$d){if(!$m[$p]){$d=1;while($d>0){$c++;if($s[$c]=='[')$d++;elseif($s[$c]==']')$d--;}}})(),']'=>(function()use(&$c,&$d){if($m[$p]){$d=1;while($d>0){$c--;if($s[$c]==']')$d++;elseif($s[$c]=='[')$d--;}}})()};$c++;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+
P
+Fatal error: Uncaught UnhandledMatchError: Unhandled match case '\n' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case ' ' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/28/index.html b/archive/q/brainf-ck/a/28/index.html new file mode 100644 index 0000000..30dc8b3 --- /dev/null +++ b/archive/q/brainf-ck/a/28/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #28 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #28

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #28

+

+ tadsan が 2024-03-08 04:42:48 に投稿 +

+

コード

+

+ 386 byte +

+
$s=fread(STDIN,9999);$c=$p=0;do{$m[$p]??=0;switch ($s[$c]) {case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p]){$d=1;while($d>0){$c++;if($s[$c]=='[')$d++;elseif($s[$c]==']')$d--;}}break;case']':if($m[$p]){$d=1;while($d>0){$c--;if($s[$c]==']')$d++;elseif($s[$c]=='[')$d--;}}break;}}while(++$c<strlen($s))
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected end of file, expecting ";" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected end of file, expecting ";" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected end of file, expecting ";" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/29/index.html b/archive/q/brainf-ck/a/29/index.html new file mode 100644 index 0000000..8db89d5 --- /dev/null +++ b/archive/q/brainf-ck/a/29/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #29 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #29

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #29

+

+ tadsan が 2024-03-08 04:45:20 に投稿 +

+

コード

+

+ 385 byte +

+
$s=fread(STDIN,9999);$c=$p=0;do{$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p]){$d=1;while($d>0){$c++;if($s[$c]=='[')$d++;elseif($s[$c]==']')$d--;}}break;case']':if($m[$p]){$d=1;while($d>0){$c--;if($s[$c]==']')$d++;elseif($s[$c]=='[')$d--;}}break;}}while(++$c<strlen($s));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/3/index.html b/archive/q/brainf-ck/a/3/index.html new file mode 100644 index 0000000..ba28346 --- /dev/null +++ b/archive/q/brainf-ck/a/3/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #3 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #3

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #3

+

+ muno92 が 2024-03-06 08:42:52 に投稿 +

+

コード

+

+ 1043 byte +

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/30/index.html b/archive/q/brainf-ck/a/30/index.html new file mode 100644 index 0000000..b02cb70 --- /dev/null +++ b/archive/q/brainf-ck/a/30/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #30 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #30

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #30

+

+ tadsan が 2024-03-08 05:26:59 に投稿 +

+

コード

+

+ 383 byte +

+
$s=fread(STDIN,9999);$c=$p=0;while($c<strlen($s)){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p]){for($d=1;$d>0;){$c++;if($s[$c]=='[')$d++;elseif($s[$c]==']')$d--;}}break;case']':if($m[$p]){for($d=1;$d>0;){$c--;if($s[$c]==']')$d++;elseif($s[$c]=='[')$d--;}}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/31/index.html b/archive/q/brainf-ck/a/31/index.html new file mode 100644 index 0000000..0a82fda --- /dev/null +++ b/archive/q/brainf-ck/a/31/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #31 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #31

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #31

+

+ tadsan が 2024-03-08 05:28:26 に投稿 +

+

コード

+

+ 373 byte +

+
$s=fread(STDIN,9999);$c=$p=0;while($c<strlen($s)){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p]){for($d=1;$d>0;)if($s[++$c]=='[')$d++;elseif($s[$c]==']')$d--;}break;case']':if($m[$p]){for($d=1;$d>0;)if($s[--$c]==']')$d++;elseif($s[$c]=='[')$d--;}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/32/index.html b/archive/q/brainf-ck/a/32/index.html new file mode 100644 index 0000000..1bd4c07 --- /dev/null +++ b/archive/q/brainf-ck/a/32/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #32 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #32

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #32

+

+ tadsan が 2024-03-08 05:31:32 に投稿 +

+

コード

+

+ 363 byte +

+
$s=fread(STDIN,9999);$c=$p=0;while($c<strlen($s)){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)if($s[++$c]=='[')$d++;elseif($s[$c]==']')$d--;break;case']':if($m[$p])for($d=1;$d>0;)if($s[--$c]==']')$d++;elseif($s[$c]=='[')$d--;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/33/index.html b/archive/q/brainf-ck/a/33/index.html new file mode 100644 index 0000000..58b9f89 --- /dev/null +++ b/archive/q/brainf-ck/a/33/index.html @@ -0,0 +1,103 @@ + + + + + 問題 #3 - 回答 #33 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #33

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #33

+

+ tadsan が 2024-03-08 05:33:11 に投稿 +

+

コード

+

+ 361 byte +

+
$s=fread(STDIN,9999);for($c=$p=0;$c<strlen($s);$m[$p]??=0){switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)if($s[++$c]=='[')$d++;elseif($s[$c]==']')$d--;break;case']':if($m[$p])for($d=1;$d>0;)if($s[--$c]==']')$d++;elseif($s[$c]=='[')$d--;}$c++;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Undefined array key 0 in php.wasm code on line 6
+Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Undefined array key 0 in php.wasm code on line 6
+PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Undefined array key 0 in php.wasm code on line 6
+グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/34/index.html b/archive/q/brainf-ck/a/34/index.html new file mode 100644 index 0000000..28a0dff --- /dev/null +++ b/archive/q/brainf-ck/a/34/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #34 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #34

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #34

+

+ tadsan が 2024-03-08 05:33:54 に投稿 +

+

コード

+

+ 362 byte +

+
$s=fread(STDIN,9999);for($c=$p=0;$c<strlen($s);){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)if($s[++$c]=='[')$d++;elseif($s[$c]==']')$d--;break;case']':if($m[$p])for($d=1;$d>0;)if($s[--$c]==']')$d++;elseif($s[$c]=='[')$d--;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/35/index.html b/archive/q/brainf-ck/a/35/index.html new file mode 100644 index 0000000..f8270e6 --- /dev/null +++ b/archive/q/brainf-ck/a/35/index.html @@ -0,0 +1,88 @@ + + + + + 問題 #3 - 回答 #35 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #35

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #35

+

+ tadsan が 2024-03-08 05:38:33 に投稿 +

+

コード

+

+ 350 byte +

+
$s=fread(STDIN,9999);for($c=$p=0;$c<strlen($s);){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)($s[++$c]=='[')?$d++:$s[$c]==']'and$d--;break;case']':if($m[$p])for($d=1;$d>0;)($s[--$c]==']')?$d++:$s[$c]=='['and$d--;}$c++;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/36/index.html b/archive/q/brainf-ck/a/36/index.html new file mode 100644 index 0000000..39ecb30 --- /dev/null +++ b/archive/q/brainf-ck/a/36/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #36 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #36

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #36

+

+ tadsan が 2024-03-08 05:40:10 に投稿 +

+

コード

+

+ 352 byte +

+
$s=fread(STDIN,9999);for($c=$p=0;$c<strlen($s);){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)($s[++$c]=='[')?$d++:($s[$c]==']'&&$d--);break;case']':if($m[$p])for($d=1;$d>0;)($s[--$c]==']')?$d++:($s[$c]=='['&&$d--);}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/37/index.html b/archive/q/brainf-ck/a/37/index.html new file mode 100644 index 0000000..a397ea9 --- /dev/null +++ b/archive/q/brainf-ck/a/37/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #37 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #37

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #37

+

+ tadsan が 2024-03-08 05:41:46 に投稿 +

+

コード

+

+ 344 byte +

+
$s=fread(STDIN,9999);for($c=$p=0;$c<strlen($s);){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)$s[++$c]=='['?$d++:$s[$c]==']'&&$d--;break;case']':if($m[$p])for($d=1;$d>0;)$s[--$c]==']'?$d++:$s[$c]=='['&&$d--;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/38/index.html b/archive/q/brainf-ck/a/38/index.html new file mode 100644 index 0000000..33161e6 --- /dev/null +++ b/archive/q/brainf-ck/a/38/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #38 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #38

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #38

+

+ tadsan が 2024-03-08 05:43:06 に投稿 +

+

コード

+

+ 343 byte +

+
$s=fread(STDIN,9999);for($c=$p=0;$c<strlen($s);$c++){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)$s[++$c]=='['?$d++:$s[$c]==']'&&$d--;break;case']':if($m[$p])for($d=1;$d>0;)$s[--$c]==']'?$d++:$s[$c]=='['&&$d--;}}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/39/index.html b/archive/q/brainf-ck/a/39/index.html new file mode 100644 index 0000000..53cda0f --- /dev/null +++ b/archive/q/brainf-ck/a/39/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #39 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #39

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #39

+

+ rinchoku が 2024-03-08 07:38:40 に投稿 +

+

コード

+

+ 558 byte +

+
$s=stream_get_contents(STDIN);$c=0;$m=[];$p=0;while ($c < strlen($s)){switch ($s[$c]){case '>':$p++;break;case '<':$p--;break;case '+':if(!isset($m[$p])){$m[$p]=0;}$m[$p]++;break;case '-':if(!isset($m[$p])){$m[$p]=0;}$m[$p]--;break;case '.':echo chr($m[$p]);break;case '[':if(!isset($m[$p]) || $m[$p] === 0){$depth=1;while ($depth>0){$c++;if($s[$c] === '['){$depth++;} elseif($s[$c] === ']'){$depth--;}}}break;case ']':if(isset($m[$p])&&$m[$p]!==0){$depth=1;while ($depth>0){$c--;if($s[$c] === ']'){$depth++;} elseif($s[$c] === '['){$depth--;}}}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/4/index.html b/archive/q/brainf-ck/a/4/index.html new file mode 100644 index 0000000..814e4c7 --- /dev/null +++ b/archive/q/brainf-ck/a/4/index.html @@ -0,0 +1,100 @@ + + + + + 問題 #3 - 回答 #4 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #4

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #4

+

+ tadsan が 2024-03-06 21:07:43 に投稿 +

+

コード

+

+ 374 byte +

+
$s=fread(STDIN,999);$c=$p=0;while($c<strlen($s)){switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]??=0;$m[$p]++;break;case'-':$m[$p]??=0;$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!($m[$p]??0)){$d=1;while($d>0){match($s[++$c]){'['=>$d++,']'=>$d--};}}break;case ']':if($m[$p]??0){$d=1;while($d>0){match($s[--$c]){']'=>$d++,'['=>$d--};}}}$c++;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case '-' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
PHPerKaig
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case ' ' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/40/index.html b/archive/q/brainf-ck/a/40/index.html new file mode 100644 index 0000000..9d813bf --- /dev/null +++ b/archive/q/brainf-ck/a/40/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #40 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #40

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #40

+

+ rinchoku が 2024-03-08 07:43:02 に投稿 +

+

コード

+

+ 544 byte +

+
$s=stream_get_contents(STDIN);$c=0;$m=[];$p=0;while ($c < strlen($s)){switch ($s[$c]){case '>':$p++;break;case '<':$p--;break;case '+':if(!isset($m[$p]))$m[$p]=0;$m[$p]++;break;case '-':if(!isset($m[$p]))$m[$p]=0;$m[$p]--;break;case '.':echo chr($m[$p]);break;case '[':if(!isset($m[$p]) || $m[$p] === 0){$depth=1;while ($depth>0){$c++;if($s[$c] === '[')$depth++;elseif($s[$c] === ']')$depth--;}}break;case ']':if(isset($m[$p])&&$m[$p]!==0){$depth=1;while ($depth>0){$c--;if($s[$c] === ']')$depth++;elseif($s[$c] === '[')$depth--;}}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/41/index.html b/archive/q/brainf-ck/a/41/index.html new file mode 100644 index 0000000..a066e2c --- /dev/null +++ b/archive/q/brainf-ck/a/41/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #41 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #41

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #41

+

+ rinchoku が 2024-03-08 07:48:58 に投稿 +

+

コード

+

+ 555 byte +

+
$s=stream_get_contents(STDIN);$c=0;$m=[];$p=0;while ($c<strlen($s)) {if($s[$c]=='>')$p++;elseif($s[$c]=='<')$p--;elseif($s[$c]=='+'){if(!isset($m[$p]))$m[$p]=0;$m[$p]++;} elseif($s[$c]=='-'){if(!isset($m[$p]))$m[$p]=0;$m[$p]--;} elseif($s[$c]=='.')echo chr($m[$p]);elseif($s[$c]=='['){if(!isset($m[$p])||$m[$p]===0) {$depth=1;while ($depth >0) {$c++;if($s[$c]==='[')$depth++;elseif($s[$c]===']')$depth--;}}} elseif($s[$c]==']'){if(isset($m[$p])&&$m[$p]!==0) {$depth=1;while ($depth >0) {$c--;if($s[$c]===']')$depth++;elseif($s[$c]==='[')$depth--;}}}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/42/index.html b/archive/q/brainf-ck/a/42/index.html new file mode 100644 index 0000000..1ca5081 --- /dev/null +++ b/archive/q/brainf-ck/a/42/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #42 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #42

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #42

+

+ rinchoku が 2024-03-08 07:55:27 に投稿 +

+

コード

+

+ 481 byte +

+
$s=stream_get_contents(STDIN);$c=0;$m=[];$p=0;while($c<strlen($s)){switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':if(!isset($m[$p]))$m[$p]=0;$m[$p]++;break;case'-':if(!isset($m[$p]))$m[$p]=0;$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!isset($m[$p])||$m[$p]==0){$d=1;while($d>0){$c++;if($s[$c]=='[')$d++;elseif($s[$c]==']')$d--;}}break;case']':if(isset($m[$p])&&$m[$p]!=0){$d=1;while($d>0){$c--;if($s[$c]==']')$d++;elseif($s[$c]=='[')$d--;}}break;}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/43/index.html b/archive/q/brainf-ck/a/43/index.html new file mode 100644 index 0000000..0d728a3 --- /dev/null +++ b/archive/q/brainf-ck/a/43/index.html @@ -0,0 +1,118 @@ + + + + + 問題 #3 - 回答 #43 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #43

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #43

+

+ ticknical が 2024-03-08 10:23:21 に投稿 +

+

コード

+

+ 580 byte +

+
$src=stream_get_contents(STDIN);$p=$m=[];$r=0;
+
+while($r<strlen($src)){
+    switch($src[$r]){
+        case'>':$p++;break;
+        case'<':$p--;break;
+        case'+':if(!isset($m[$p]))$m[$p]=0;$m[$p]++;break;
+        case'-':if(!isset($m[$p]))$m[$p]=0;$m[$p]--;break;
+        case'.':echo chr($m[$p]);break;
+        case'[':if(!isset($m[$p])||$m[$p]===0){$d=1;while($d>0){$r++;if($src[$r]==='[')$d++;elseif($src[$r]===']')$d--;}}break;
+        case']':if(isset($m[$p])&&$m[$p]!==0){$d=1;while($d>0){$r--;if($src[$r]===']')$d++;elseif($src[$r]==='[')$d--;}}break;
+    }
+    $r++;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in php.wasm code:12
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 12
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in php.wasm code:12
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 12
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in php.wasm code:12
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 12
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/44/index.html b/archive/q/brainf-ck/a/44/index.html new file mode 100644 index 0000000..a56edab --- /dev/null +++ b/archive/q/brainf-ck/a/44/index.html @@ -0,0 +1,118 @@ + + + + + 問題 #3 - 回答 #44 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #44

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #44

+

+ m3m0r7 が 2024-03-08 15:43:41 に投稿 +

+

コード

+

+ 665 byte +

+
$s = stream_get_contents(STDIN);
+$q = 0;
+$m = [];
+$p = 0;
+
+while ($q < strlen($s)) {
+    match ($c=$s[$q]) {
+        '>' => $p++,
+        '<' => $p--,
+        '.' => print chr($m[$p]),
+        '+','-' => $m[$p] = ($m[$p] ?? 0)+($c=='+'?1:-1),
+        default => '',
+    };
+
+    if (($a = $c == '[') || $c == ']') {
+        $b = isset($m[$p]) && $m[$p] !== 0;
+        if ((!$b && $a) || ($b && $c == ']')) {
+            $d = 1;
+            while ($d > 0) {
+                $q += $a ? 1 : -1;
+                $d += $s[$q] === '['
+                    ? ($a ? 1 : -1)
+                    : ($s[$q] === ']' ? ($a ? -1 : 1) : 0);
+            }
+        }
+    }
+    $q++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/45/index.html b/archive/q/brainf-ck/a/45/index.html new file mode 100644 index 0000000..3d27445 --- /dev/null +++ b/archive/q/brainf-ck/a/45/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #45 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #45

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #45

+

+ m3m0r7 が 2024-03-08 15:44:20 に投稿 +

+

コード

+

+ 360 byte +

+
$s=stream_get_contents(STDIN);$q=0;$m=[];$p=0;while($q<strlen($s)){match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+','-'=>$m[$p]=($m[$p]??0)+($c=='+'?1:-1),default=>'',};if(($a=$c=='[')||$c==']'){$b=isset($m[$p])&&$m[$p]!==0;if((!$b&&$a)||($b&&$c==']')){$d=1;while($d>0){$q+=$a?1:-1;$d+=$s[$q]==='['?($a?1:-1):($s[$q]===']'?($a?-1:1):0);}}}$q++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/46/index.html b/archive/q/brainf-ck/a/46/index.html new file mode 100644 index 0000000..f7e39dd --- /dev/null +++ b/archive/q/brainf-ck/a/46/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #46 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #46

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #46

+

+ oogFranz が 2024-03-08 15:46:56 に投稿 +

+

コード

+

+ 375 byte +

+
$s=stream_get_contents(STDIN);for($p=$m=[];$i<strlen($s);){$c=$s[$i++];switch($c){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':$m[$p]||($j=$i-1;$d=1;while($d){$s[$i]=='['?$d++:$s[$i++]==']'&&$d--;}$i=$j);break;case']':!$m[$p]&&($j=$i;$d=1;while($d){$s[--$i]==']'&&$d++:$s[$i]=='['&&$d--;}}break;}}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token ";" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token ";" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token ";" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/47/index.html b/archive/q/brainf-ck/a/47/index.html new file mode 100644 index 0000000..977db10 --- /dev/null +++ b/archive/q/brainf-ck/a/47/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #47 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #47

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #47

+

+ m3m0r7 が 2024-03-08 15:48:47 に投稿 +

+

コード

+

+ 357 byte +

+
$s=stream_get_contents(STDIN);$q=0;$m=[];$p=0;while($q<strlen($s)){match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+','-'=>$m[$p]=($m[$p]??0)+($c=='+'?1:-1),default=>''};if(($a=$c=='[')||$c==']'){$b=isset($m[$p])&&$m[$p]!==0;if((!$b&&$a)||($b&&$c==']')){$d=1;while($d>0){$q+=$a?1:-1;$d+=$s[$q]=='['?($a?1:-1):($s[$q]==']'?($a?-1:1):0);}}}$q++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/48/index.html b/archive/q/brainf-ck/a/48/index.html new file mode 100644 index 0000000..b80ce0d --- /dev/null +++ b/archive/q/brainf-ck/a/48/index.html @@ -0,0 +1,142 @@ + + + + + 問題 #3 - 回答 #48 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #48

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #48

+

+ hanhan1978 が 2024-03-08 16:04:11 に投稿 +

+

コード

+

+ 883 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+
+while ($pc < strlen($s)) {
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+    break;
+  case '<':
+    $p--;
+    break;
+  case '+':
+    if (!isset($m[$p])) {
+      $m[$p] = 0;
+    }
+    $m[$p]++;
+    break;
+  case '-':
+    if ($m[$p]??1) {
+      $m[$p] = 0;
+    }
+    $m[$p]--;
+    break;
+  case '.':
+    echo chr($m[$p]);
+    break;
+  case '[':
+    if (!isset($m[$p]) || $m[$p] === 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] === '[') {
+          $d++;
+        } elseif ($s[$pc] === ']') {
+          $d--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($m[$p]) && $m[$p] !== 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] === ']') {
+          $d++;
+        } elseif ($s[$pc] === '[') {
+          $d--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/49/index.html b/archive/q/brainf-ck/a/49/index.html new file mode 100644 index 0000000..b1ce567 --- /dev/null +++ b/archive/q/brainf-ck/a/49/index.html @@ -0,0 +1,142 @@ + + + + + 問題 #3 - 回答 #49 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #49

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #49

+

+ hanhan1978 が 2024-03-08 16:04:53 に投稿 +

+

コード

+

+ 883 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+
+while ($pc < strlen($s)) {
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+    break;
+  case '<':
+    $p--;
+    break;
+  case '+':
+    if (!isset($m[$p])) {
+      $m[$p] = 0;
+    }
+    $m[$p]++;
+    break;
+  case '-':
+    if ($m[$p]??1) {
+      $m[$p] = 0;
+    }
+    $m[$p]--;
+    break;
+  case '.':
+    echo chr($m[$p]);
+    break;
+  case '[':
+    if (!isset($m[$p]) || $m[$p] === 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] === '[') {
+          $d++;
+        } elseif ($s[$pc] === ']') {
+          $d--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($m[$p]) && $m[$p] !== 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] === ']') {
+          $d++;
+        } elseif ($s[$pc] === '[') {
+          $d--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/5/index.html b/archive/q/brainf-ck/a/5/index.html new file mode 100644 index 0000000..7423a1f --- /dev/null +++ b/archive/q/brainf-ck/a/5/index.html @@ -0,0 +1,99 @@ + + + + + 問題 #3 - 回答 #5 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #5

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #5

+

+ tadsan が 2024-03-06 21:10:44 に投稿 +

+

コード

+

+ 405 byte +

+
$s=fread(STDIN,9999);
+$c=$p=0;while($c<strlen($s)){switch($s[$c]){
+case'>':$p++;break;
+case'<':$p--;break;
+case'+':$m[$p]??=0;$m[$p]++;break;
+case'-':$m[$p]??=0;$m[$p]--;break;
+case'.':echo chr($m[$p]);break;
+case'[':if(!($m[$p]??0)){$d=1;while($d>0){match($s[++$c]){'['=>$d++,']'=>$d--,default=>0};}}break;
+case ']':if($m[$p]??0){$d=1;while($d>0){match($s[--$c]){']'=>$d++,'['=>$d--,default=>0};}}}$c++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/50/index.html b/archive/q/brainf-ck/a/50/index.html new file mode 100644 index 0000000..5393d3c --- /dev/null +++ b/archive/q/brainf-ck/a/50/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #50 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #50

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #50

+

+ hanhan1978 が 2024-03-08 16:05:40 に投稿 +

+

コード

+

+ 888 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+
+while ($pc < strlen($s)) {
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+    break;
+  case '<':
+    $p--;
+    break;
+  case '+':
+    if (!isset($m[$p])) {
+      $m[$p] = 0;
+    }
+    $m[$p]++;
+    break;
+  case '-':
+    if (!isset($m[$p])) {
+      $m[$p] = 0;
+    }
+    $m[$p]--;
+    break;
+  case '.':
+    echo chr($m[$p]);
+    break;
+  case '[':
+    if (!isset($m[$p]) || $m[$p] === 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] === '[') {
+          $d++;
+        } elseif ($s[$pc] === ']') {
+          $d--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($m[$p]) && $m[$p] !== 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] === ']') {
+          $d++;
+        } elseif ($s[$pc] === '[') {
+          $d--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/51/index.html b/archive/q/brainf-ck/a/51/index.html new file mode 100644 index 0000000..1fe59c9 --- /dev/null +++ b/archive/q/brainf-ck/a/51/index.html @@ -0,0 +1,141 @@ + + + + + 問題 #3 - 回答 #51 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #51

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #51

+

+ hanhan1978 が 2024-03-08 16:14:59 に投稿 +

+

コード

+

+ 867 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+
+while ($pc < strlen($s)) {
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+    break;
+  case '<':
+    $p--;
+    break;
+  case '+':
+    $m[$p] = isset($m[$p]) ? ++$m[$p] : 0;
+    break;
+  case '-':
+    if (!isset($m[$p])) {
+      $m[$p] = 0;
+    }
+    $m[$p]--;
+    break;
+  case '.':
+    echo chr($m[$p]);
+    break;
+  case '[':
+    if (!isset($m[$p]) || $m[$p] === 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] === '[') {
+          $d++;
+        } elseif ($s[$pc] === ']') {
+          $d--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($m[$p]) && $m[$p] !== 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] === ']') {
+          $d++;
+        } elseif ($s[$pc] === '[') {
+          $d--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
OGOdqJ`hfh1/13
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
�t��u��t��u��u��u�͜��t�
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/52/index.html b/archive/q/brainf-ck/a/52/index.html new file mode 100644 index 0000000..b4facc9 --- /dev/null +++ b/archive/q/brainf-ck/a/52/index.html @@ -0,0 +1,149 @@ + + + + + 問題 #3 - 回答 #52 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #52

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #52

+

+ hanhan1978 が 2024-03-08 16:16:47 に投稿 +

+

コード

+

+ 926 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+
+while ($pc < strlen($s)) {
+  if (!isset($m[$p]))
+    $m[$p] = 0;
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+    break;
+  case '<':
+    $p--;
+    break;
+  case '+':
+    if (!isset($m[$p])) {
+      $m[$p] = 0;
+    }
+    $m[$p]++;
+    break;
+  case '-':
+    if (!isset($m[$p])) {
+      $m[$p] = 0;
+    }
+    $m[$p]--;
+    break;
+  case '.':
+    echo chr($m[$p]);
+    break;
+  case '[':
+    if (!isset($m[$p]) || $m[$p] === 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] === '[') {
+          $d++;
+        } elseif ($s[$pc] === ']') {
+          $d--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($m[$p]) && $m[$p] !== 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] === ']') {
+          $d++;
+        } elseif ($s[$pc] === '[') {
+          $d--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/53/index.html b/archive/q/brainf-ck/a/53/index.html new file mode 100644 index 0000000..760818a --- /dev/null +++ b/archive/q/brainf-ck/a/53/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #53 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #53

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #53

+

+ m3m0r7 が 2024-03-08 16:17:56 に投稿 +

+

コード

+

+ 350 byte +

+
for($s=stream_get_contents(STDIN),$q=0,$m=[],$p=0;$q<strlen($s);$q++){match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+','-'=>$m[$p]=($m[$p]??0)+($c=='+'?1:-1),default=>'',};for($d=1,$b=isset($m[$p])&&$m[$p]!==0;(($a=$c=='[')||$c==']')&&((!$b&&$a)||($b&&$c==']'))&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?($a?1:-1):($o==']'?($a?-1:1):0));}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/54/index.html b/archive/q/brainf-ck/a/54/index.html new file mode 100644 index 0000000..efba4dc --- /dev/null +++ b/archive/q/brainf-ck/a/54/index.html @@ -0,0 +1,143 @@ + + + + + 問題 #3 - 回答 #54 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #54

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #54

+

+ hanhan1978 が 2024-03-08 16:17:57 に投稿 +

+

コード

+

+ 791 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+
+while ($pc < strlen($s)) {
+  if (!isset($m[$p]))
+    $m[$p] = 0;
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+    break;
+  case '<':
+    $p--;
+    break;
+  case '+':
+    $m[$p]++;
+    break;
+  case '-':
+    $m[$p]--;
+    break;
+  case '.':
+    echo chr($m[$p]);
+    break;
+  case '[':
+    if ($m[$p] === 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] === '[') {
+          $d++;
+        } elseif ($s[$pc] === ']') {
+          $d--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if ($m[$p] !== 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] === ']') {
+          $d++;
+        } elseif ($s[$pc] === '[') {
+          $d--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/55/index.html b/archive/q/brainf-ck/a/55/index.html new file mode 100644 index 0000000..cbe4ad9 --- /dev/null +++ b/archive/q/brainf-ck/a/55/index.html @@ -0,0 +1,128 @@ + + + + + 問題 #3 - 回答 #55 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #55

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #55

+

+ hanhan1978 が 2024-03-08 16:20:21 に投稿 +

+

コード

+

+ 713 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+while ($pc < strlen($s)) {
+  if (!isset($m[$p]))
+    $m[$p] = 0;
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+  case '<':
+    $p--;
+  case '+':
+    $m[$p]++;
+  case '-':
+    $m[$p]--;
+  case '.':
+    echo chr($m[$p]);
+  case '[':
+    if ($m[$p] === 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] === '[') {
+          $d++;
+        } elseif ($s[$pc] === ']') {
+          $d--;
+        }
+      }
+    }
+  case ']':
+    if ($m[$p] !== 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] === ']') {
+          $d++;
+        } elseif ($s[$pc] === '[') {
+          $d--;
+        }
+      }
+    }
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 3

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/56/index.html b/archive/q/brainf-ck/a/56/index.html new file mode 100644 index 0000000..1585c42 --- /dev/null +++ b/archive/q/brainf-ck/a/56/index.html @@ -0,0 +1,143 @@ + + + + + 問題 #3 - 回答 #56 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #56

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #56

+

+ hanhan1978 が 2024-03-08 16:22:56 に投稿 +

+

コード

+

+ 785 byte +

+
$s = stream_get_contents(STDIN);
+$pc = 0;
+$m = [];
+$p = 0;
+
+while ($pc < strlen($s)) {
+  if (!isset($m[$p]))
+    $m[$p] = 0;
+  switch ($s[$pc]) {
+  case '>':
+    $p++;
+    break;
+  case '<':
+    $p--;
+    break;
+  case '+':
+    $m[$p]++;
+    break;
+  case '-':
+    $m[$p]--;
+    break;
+  case '.':
+    echo chr($m[$p]);
+    break;
+  case '[':
+    if ($m[$p] == 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc++;
+        if ($s[$pc] == '[') {
+          $d++;
+        } elseif ($s[$pc] == ']') {
+          $d--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if ($m[$p] != 0) {
+      $d = 1;
+      while ($d > 0) {
+        $pc--;
+        if ($s[$pc] == ']') {
+          $d++;
+        } elseif ($s[$pc] == '[') {
+          $d--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/57/index.html b/archive/q/brainf-ck/a/57/index.html new file mode 100644 index 0000000..d9a834d --- /dev/null +++ b/archive/q/brainf-ck/a/57/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #57 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #57

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #57

+

+ m3m0r7 が 2024-03-08 16:24:31 に投稿 +

+

コード

+

+ 341 byte +

+
<?php for($s=stream_get_contents(STDIN),$q=0,$m=[],$p=0;$q<strlen($s);$q++){match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+','-'=>$m[$p]=($m[$p]??0)+($c=='+'?1:-1),default=>'',};for($d=1,$b=isset($m[$p])&&$m[$p]!==0;($a=$c=='[')||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/58/index.html b/archive/q/brainf-ck/a/58/index.html new file mode 100644 index 0000000..aa5ad7d --- /dev/null +++ b/archive/q/brainf-ck/a/58/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #58 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #58

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #58

+

+ m3m0r7 が 2024-03-08 16:25:44 に投稿 +

+

コード

+

+ 341 byte +

+
for($s=stream_get_contents(STDIN),$q=0,$m=[],$p=0;$q<strlen($s);$q++){match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+','-'=>$m[$p]=($m[$p]??0)+($c=='+'?1:-1),default=>'',};for($d=1,$b=isset($m[$p])&&$m[$p]!==0;($a=$c=='[')||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/59/index.html b/archive/q/brainf-ck/a/59/index.html new file mode 100644 index 0000000..7e77ba8 --- /dev/null +++ b/archive/q/brainf-ck/a/59/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #59 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #59

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #59

+

+ hanhan1978 が 2024-03-08 16:29:09 に投稿 +

+

コード

+

+ 493 byte +

+
$s=stream_get_contents(STDIN);
+$pc=0;$m=[];$p=0;
+while($pc<strlen($s)){
+if(!isset($m[$p]))
+$m[$p]=0;
+$z=$s[$pc];
+if($z=='>'){
+$p++;
+}elseif($z=='<'){
+$p--;
+}elseif($z=='+'){
+$m[$p]++;
+}elseif($z=='-'){
+$m[$p]--;
+}elseif($z=='.'){
+echochr($m[$p]);
+}elseif($z=='['){
+if($m[$p]==0){
+$d=1;
+while($d>0){
+$pc++;
+if($s[$pc]=='['){
+$d++;
+}elseif($s[$pc]==']'){
+$d--;
+}
+}
+}
+}elseif($z==']'){
+if($m[$p]!=0){
+$d=1;
+while($d>0){
+$pc--;
+if($s[$pc]==']'){
+$d++;
+}elseif($s[$pc]=='['){
+$d--;
+}
+}
+}
+}
+$pc++;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught Error: Call to undefined function echochr() in php.wasm code:21
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 21
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught Error: Call to undefined function echochr() in php.wasm code:21
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 21
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught Error: Call to undefined function echochr() in php.wasm code:21
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 21
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/6/index.html b/archive/q/brainf-ck/a/6/index.html new file mode 100644 index 0000000..d987184 --- /dev/null +++ b/archive/q/brainf-ck/a/6/index.html @@ -0,0 +1,97 @@ + + + + + 問題 #3 - 回答 #6 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #6

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #6

+

+ nsfisis が 2024-03-07 15:37:59 に投稿 +

+

コード

+

+ 355 byte +

+
$S=stream_get_contents(STDIN);$s=$m=0;while($s<strlen($S))switch($S[$s++]){case'>':$m++;break;case'<':$m--;break;case'+':$M[$m]++;break;
+case'-':$M[$m]--;break;case'.':echo chr($M[$m]);break;case'[':if(!($M[$m]??0)){$d=1;while($d)$d+=$S[++$s]=='['?1:$S[$s]==']'?-1:0;}break;case']':if($M[$m]??0){$d=1;while($d)$d+=$S[--$s]==']'?1:$S[$s]=='['?-1:0;}break;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Fatal error: Unparenthesized `a ? b : c ? d : e` is not supported. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in php.wasm code on line 7
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Fatal error: Unparenthesized `a ? b : c ? d : e` is not supported. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in php.wasm code on line 7
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Fatal error: Unparenthesized `a ? b : c ? d : e` is not supported. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in php.wasm code on line 7
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/60/index.html b/archive/q/brainf-ck/a/60/index.html new file mode 100644 index 0000000..a0a4d7b --- /dev/null +++ b/archive/q/brainf-ck/a/60/index.html @@ -0,0 +1,127 @@ + + + + + 問題 #3 - 回答 #60 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #60

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #60

+

+ hanhan1978 が 2024-03-08 16:34:46 に投稿 +

+

コード

+

+ 504 byte +

+
$s=stream_get_contents(STDIN);
+$pc=0;$m = [];$p = 0;
+while($pc < strlen($s)){
+if(!isset($m[$p])) $m[$p] = 0;
+$z=$s[$pc];
+if($z=='>'){
+$p++;
+}elseif($z=='<'){
+$p--;
+}elseif($z=='+'){
+$m[$p]++;
+}elseif($z=='-'){
+$m[$p]--;
+}elseif($z=='.'){
+echo chr($m[$p]);
+}elseif($z=='['){
+if ($m[$p]==0) {
+$d=1;
+while($d>0) {
+$pc++;
+if($s[$pc]=='['){
+$d++;
+}elseif($s[$pc]==']'){
+$d--;
+}}}
+}elseif($z ==']'){
+if($m[$p]!=0) {
+$d=1;
+while($d>0) {
+$pc--;
+if($s[$pc]==']'){
+$d++;
+}elseif($s[$pc]=='[') {
+$d--;
+}}}}
+$pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/61/index.html b/archive/q/brainf-ck/a/61/index.html new file mode 100644 index 0000000..fd31177 --- /dev/null +++ b/archive/q/brainf-ck/a/61/index.html @@ -0,0 +1,94 @@ + + + + + 問題 #3 - 回答 #61 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #61

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #61

+

+ hanhan1978 が 2024-03-08 16:37:25 に投稿 +

+

コード

+

+ 457 byte +

+
$s=stream_get_contents(STDIN);
+$pc=0;$m=[];$p=0;while($pc<strlen($s)){if(!isset($m[$p])) $m[$p]=0;$z=$s[$pc];if($z=='>'){$p++;}elseif($z=='<'){$p--;
+}elseif($z=='+'){$m[$p]++;}elseif($z=='-'){$m[$p]--;}elseif($z=='.'){echo chr($m[$p]);}elseif($z=='['){
+if($m[$p]==0){$d=1;while($d>0){$pc++;if($s[$pc]=='['){$d++;}elseif($s[$pc]==']'){$d--;}}}}elseif($z ==']'){if($m[$p]!=0){$d=1;while($d>0){$pc--;if($s[$pc]==']'){$d++;}elseif($s[$pc]=='['){$d--;}}}}$pc++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/62/index.html b/archive/q/brainf-ck/a/62/index.html new file mode 100644 index 0000000..40553c3 --- /dev/null +++ b/archive/q/brainf-ck/a/62/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #62 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #62

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #62

+

+ okashoi が 2024-03-08 16:45:23 に投稿 +

+

コード

+

+ 1043 byte +

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/63/index.html b/archive/q/brainf-ck/a/63/index.html new file mode 100644 index 0000000..3872f51 --- /dev/null +++ b/archive/q/brainf-ck/a/63/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #63 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #63

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #63

+

+ m3m0r7 が 2024-03-08 17:53:38 に投稿 +

+

コード

+

+ 338 byte +

+
for($s=stream_get_contents(STDIN),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+','-'=>$m[$p]=($m[$p]??0)+($c=='+'?1:-1),default=>''},$d=1,$b=isset($m[$p])&&$m[$p]!==0;($a=$c=='[')||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/64/index.html b/archive/q/brainf-ck/a/64/index.html new file mode 100644 index 0000000..27e060b --- /dev/null +++ b/archive/q/brainf-ck/a/64/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #64 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #64

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #64

+

+ takaram が 2024-03-08 18:19:07 に投稿 +

+

コード

+

+ 301 byte +

+
$s=stream_get_contents(STDIN);$p=-1;$m=[];function l($s,&$p,$r,$d=1){while($d+=match($s[$p+=$r]){'['=>$r,']'=>-$r,default=>0}){}}for($t=0;$s[++$p]??0;){$m[$t]??=0;$d=&$m[$t];match($s[$p]){'>'=>$t++,'<'=>$t--,'+'=>$d++,'-'=>$d--,'.'=>print chr($d),'['=>$d||l($s,$p,1),']'=>$d&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/65/index.html b/archive/q/brainf-ck/a/65/index.html new file mode 100644 index 0000000..ecd9f0e --- /dev/null +++ b/archive/q/brainf-ck/a/65/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #65 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #65

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #65

+

+ takaram が 2024-03-08 19:31:13 に投稿 +

+

コード

+

+ 278 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){for($d=1;$d+=['['=>$r,']'=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;$d=&$m[$t],$d??=0)match($s[$p]){'>'=>$t++,'<'=>$t--,'+'=>$d++,'-'=>$d--,'.'=>print chr($d),'['=>$d||l($s,$p,1),']'=>$d&&l($s,$p,-1),default=>0};
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+?X__bLbe_W	
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+OHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+�u��v��u��v��v��v���u�
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/66/index.html b/archive/q/brainf-ck/a/66/index.html new file mode 100644 index 0000000..5a32490 --- /dev/null +++ b/archive/q/brainf-ck/a/66/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #66 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #66

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #66

+

+ takaram が 2024-03-08 19:39:42 に投稿 +

+

コード

+

+ 278 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){for($d=1;$d+=["["=>$r,"]"=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;$d=&$m[$t],$d??=0)match($s[$p]){">"=>$t++,"<"=>$t--,"+"=>$d++,"-"=>$d--,"."=>print chr($d),"["=>$d||l($s,$p,1),"]"=>$d&&l($s,$p,-1),default=>0};
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+?X__bLbe_W	
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+OHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+�u��v��u��v��v��v���u�
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/67/index.html b/archive/q/brainf-ck/a/67/index.html new file mode 100644 index 0000000..d4e84b1 --- /dev/null +++ b/archive/q/brainf-ck/a/67/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #67 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #67

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #67

+

+ takaram が 2024-03-08 21:02:57 に投稿 +

+

コード

+

+ 293 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){$d=1;while($d+=match($s[$p+=$r]){'['=>$r,']'=>-$r,default=>0}){}}for($m=[$t=0];$s[++$p]??0;$d=&$m[$t],$d??=0)match($s[$p]){">"=>$t++,"<"=>$t--,"+"=>$d++,"-"=>$d--,"."=>print chr($d),"["=>$d||l($s,$p,1),"]"=>$d&&l($s,$p,-1),default=>0};
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+?X__bLbe_W	
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+OHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+�u��v��u��v��v��v���u�
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/68/index.html b/archive/q/brainf-ck/a/68/index.html new file mode 100644 index 0000000..78351b2 --- /dev/null +++ b/archive/q/brainf-ck/a/68/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #68 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #68

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #68

+

+ takaram が 2024-03-08 21:04:04 に投稿 +

+

コード

+

+ 300 byte +

+
$s=stream_get_contents(STDIN);$p=-1;$m=[];function l($s,&$p,$r,$d=1){while($d+=match($s[$p+=$r]){'['=>$r,']'=>-$r,default=>0});}for($t=0;$s[++$p]??0;){$m[$t]??=0;$d=&$m[$t];match($s[$p]){'>'=>$t++,'<'=>$t--,'+'=>$d++,'-'=>$d--,'.'=>print chr($d),'['=>$d||l($s,$p,1),']'=>$d&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/69/index.html b/archive/q/brainf-ck/a/69/index.html new file mode 100644 index 0000000..17f9403 --- /dev/null +++ b/archive/q/brainf-ck/a/69/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #69 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #69

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #69

+

+ takaram が 2024-03-08 21:05:55 に投稿 +

+

コード

+

+ 281 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){for($d=1;$d+=["["=>$r,"]"=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;){$d=&$m[$t];$d??=0;match($s[$p]){">"=>$t++,"<"=>$t--,"+"=>$d++,"-"=>$d--,"."=>print chr($d),"["=>$d||l($s,$p,1),"]"=>$d&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/7/index.html b/archive/q/brainf-ck/a/7/index.html new file mode 100644 index 0000000..3d5660b --- /dev/null +++ b/archive/q/brainf-ck/a/7/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #7 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #7

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #7

+

+ nsfisis が 2024-03-07 16:02:44 に投稿 +

+

コード

+

+ 341 byte +

+
$S=stream_get_contents(STDIN);$s=$m=0;$M=[];while($s<strlen($S)){$c=$S[$s];$d=1;if($c=='>')$m++;if($c=='<')$m--;if($c=='+')@$M[$m]++;if($c=='-')@$M[$m]--;if($c=='.')echo chr($M[$m]);if($c=='[')if(!@$M[$m])while($d){$s++;$S[$s]=='['?$d++:($S[$s]==']'?$d--:0);}if($c==']')if(@$M[$m])while($d){$s--;$S[$s]==']'?$d++:($S[$s]=='['?$d--:0);}$s++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/70/index.html b/archive/q/brainf-ck/a/70/index.html new file mode 100644 index 0000000..d25006c --- /dev/null +++ b/archive/q/brainf-ck/a/70/index.html @@ -0,0 +1,90 @@ + + + + + 問題 #3 - 回答 #70 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #70

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #70

+

+ takaram が 2024-03-08 21:06:49 に投稿 +

+

コード

+

+ 280 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){for($d=1;$d+=["["=>$r,"]"=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;$d=&$m[$t]){$d??=0;match($s[$p]){">"=>$t++,"<"=>$t--,"+"=>$d++,"-"=>$d--,"."=>print chr($d),"["=>$d||l($s,$p,1),"]"=>$d&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+
?X__bLbe_W	
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
OHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
�u��v��u��v��v��v���u�
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/71/index.html b/archive/q/brainf-ck/a/71/index.html new file mode 100644 index 0000000..3494420 --- /dev/null +++ b/archive/q/brainf-ck/a/71/index.html @@ -0,0 +1,109 @@ + + + + + 問題 #3 - 回答 #71 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #71

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #71

+

+ takaram が 2024-03-09 00:30:21 に投稿 +

+

コード

+

+ 401 byte +

+
$s = stream_get_contents(STDIN);
+$p = -1;
+
+function l($s, &$p, $r) {
+  for ($d = 1; $d += ["[" => $r, "]" => -$r][$s[$p += $r]] ?? 0;);
+}
+
+for ($m = [$t = 0]; $s[++$p] ?? 0; $d =& $m[$t]) {
+  $d ??= 0;
+  match ($s[$p]) {
+    ">" => $t++,
+    "<" => $t--,
+    "+" => $d++,
+    "-" => $d--,
+    "." => print chr($d),
+    "[" => $d || l($s, $p, 1),
+    "]" => $d && l($s, $p, -1),
+    default => 0
+  };
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+
?X__bLbe_W	
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
OHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
�u��v��u��v��v��v���u�
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/72/index.html b/archive/q/brainf-ck/a/72/index.html new file mode 100644 index 0000000..c3c3f74 --- /dev/null +++ b/archive/q/brainf-ck/a/72/index.html @@ -0,0 +1,111 @@ + + + + + 問題 #3 - 回答 #72 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #72

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #72

+

+ takaram が 2024-03-09 00:30:50 に投稿 +

+

コード

+

+ 404 byte +

+
$s = stream_get_contents(STDIN);
+$p = -1;
+
+function l($s, &$p, $r) {
+  for ($d = 1; $d += ["[" => $r, "]" => -$r][$s[$p += $r]] ?? 0;);
+}
+
+for ($m = [$t = 0]; $s[++$p] ?? 0;) {
+  $d =& $m[$t];
+  $d ??= 0;
+  match ($s[$p]) {
+    ">" => $t++,
+    "<" => $t--,
+    "+" => $d++,
+    "-" => $d--,
+    "." => print chr($d),
+    "[" => $d || l($s, $p, 1),
+    "]" => $d && l($s, $p, -1),
+    default => 0
+  };
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/73/index.html b/archive/q/brainf-ck/a/73/index.html new file mode 100644 index 0000000..161e910 --- /dev/null +++ b/archive/q/brainf-ck/a/73/index.html @@ -0,0 +1,94 @@ + + + + + 問題 #3 - 回答 #73 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #73

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #73

+

+ hanhan1978 が 2024-03-09 01:41:06 に投稿 +

+

コード

+

+ 447 byte +

+
$s=stream_get_contents(STDIN);
+$y=0;$m=[];$p=0;while($y<strlen($s)){if(!isset($m[$p])) $m[$p]=0;$z=$s[$y];if($z=='>'){$p++;}elseif($z=='<'){$p--;
+}elseif($z=='+'){$m[$p]++;}elseif($z=='-'){$m[$p]--;}elseif($z=='.'){echo chr($m[$p]);}elseif($z=='['){
+if($m[$p]==0){$d=1;while($d>0){$y++;if($s[$y]=='['){$d++;}elseif($s[$y]==']'){$d--;}}}}elseif($z ==']'){if($m[$p]!=0){$d=1;while($d>0){$y--;if($s[$y]==']'){$d++;}elseif($s[$y]=='['){$d--;}}}}$y++;}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/74/index.html b/archive/q/brainf-ck/a/74/index.html new file mode 100644 index 0000000..c2684d3 --- /dev/null +++ b/archive/q/brainf-ck/a/74/index.html @@ -0,0 +1,108 @@ + + + + + 問題 #3 - 回答 #74 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #74

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #74

+

+ tadsan が 2024-03-09 04:37:26 に投稿 +

+

コード

+

+ 342 byte +

+
$s=fread(STDIN,INF);for($c=$p=0;$c<strlen($s);$c++){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)$s[++$c]=='['?$d++:$s[$c]==']'&&$d--;break;case']':if($m[$p])for($d=1;$d>0;)$s[--$c]==']'?$d++:$s[$c]=='['&&$d--;}}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: fread(): Argument #2 ($length) must be of type int, float given in php.wasm code:6
+Stack trace:
+#0 php.wasm code(6): fread(Resource id #2, INF)
+#1 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: fread(): Argument #2 ($length) must be of type int, float given in php.wasm code:6
+Stack trace:
+#0 php.wasm code(6): fread(Resource id #2, INF)
+#1 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: fread(): Argument #2 ($length) must be of type int, float given in php.wasm code:6
+Stack trace:
+#0 php.wasm code(6): fread(Resource id #2, INF)
+#1 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/75/index.html b/archive/q/brainf-ck/a/75/index.html new file mode 100644 index 0000000..9bfac7c --- /dev/null +++ b/archive/q/brainf-ck/a/75/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #75 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #75

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #75

+

+ tadsan が 2024-03-09 04:37:49 に投稿 +

+

コード

+

+ 342 byte +

+
$s=fread(STDIN,999);for($c=$p=0;$c<strlen($s);$c++){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)$s[++$c]=='['?$d++:$s[$c]==']'&&$d--;break;case']':if($m[$p])for($d=1;$d>0;)$s[--$c]==']'?$d++:$s[$c]=='['&&$d--;}}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
PHPerKaig
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
グレゴール
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/76/index.html b/archive/q/brainf-ck/a/76/index.html new file mode 100644 index 0000000..4e7e908 --- /dev/null +++ b/archive/q/brainf-ck/a/76/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #76 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #76

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #76

+

+ tadsan が 2024-03-09 04:38:01 に投稿 +

+

コード

+

+ 343 byte +

+
$s=fread(STDIN,9999);for($c=$p=0;$c<strlen($s);$c++){$m[$p]??=0;switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;$d>0;)$s[++$c]=='['?$d++:$s[$c]==']'&&$d--;break;case']':if($m[$p])for($d=1;$d>0;)$s[--$c]==']'?$d++:$s[$c]=='['&&$d--;}}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/77/index.html b/archive/q/brainf-ck/a/77/index.html new file mode 100644 index 0000000..4ebc9f1 --- /dev/null +++ b/archive/q/brainf-ck/a/77/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #77 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #77

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #77

+

+ masnmt が 2024-03-09 04:52:52 に投稿 +

+

コード

+

+ 1043 byte +

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/78/index.html b/archive/q/brainf-ck/a/78/index.html new file mode 100644 index 0000000..73e6a49 --- /dev/null +++ b/archive/q/brainf-ck/a/78/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #78 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #78

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #78

+

+ m3m0r7 が 2024-03-09 10:31:16 に投稿 +

+

コード

+

+ 311 byte +

+
for($s=stream_get_contents(STDIN),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=@$m[$p]!==0,$a=$c=='[';$a||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/79/index.html b/archive/q/brainf-ck/a/79/index.html new file mode 100644 index 0000000..ce6f73f --- /dev/null +++ b/archive/q/brainf-ck/a/79/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #79 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #79

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #79

+

+ m3m0r7 が 2024-03-09 10:32:47 に投稿 +

+

コード

+

+ 301 byte +

+
for($s=fread(STDIN,999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=@$m[$p]!==0,$a=$c=='[';$a||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
PHPerKaig
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+
グレゴール
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/8/index.html b/archive/q/brainf-ck/a/8/index.html new file mode 100644 index 0000000..872223c --- /dev/null +++ b/archive/q/brainf-ck/a/8/index.html @@ -0,0 +1,100 @@ + + + + + 問題 #3 - 回答 #8 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #8

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #8

+

+ tadsan が 2024-03-07 16:12:42 に投稿 +

+

コード

+

+ 373 byte +

+
$s=fread(STDIN,999);$c=$p=0;while($c<strlen($s)){switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]??=0;$m[$p]++;break;case'-':$m[$p]??=0;$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!($m[$p]??0)){$d=1;while($d>0){match($s[++$c]){'['=>$d++,']'=>$d--};}}break;case']':if($m[$p]??0){$d=1;while($d>0){match($s[--$c]){']'=>$d++,'['=>$d--};}}}$c++;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case '-' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+
PHPerKaig
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case ' ' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/80/index.html b/archive/q/brainf-ck/a/80/index.html new file mode 100644 index 0000000..af7215b --- /dev/null +++ b/archive/q/brainf-ck/a/80/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #80 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #80

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #80

+

+ m3m0r7 が 2024-03-09 10:33:00 に投稿 +

+

コード

+

+ 302 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=@$m[$p]!==0,$a=$c=='[';$a||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/81/index.html b/archive/q/brainf-ck/a/81/index.html new file mode 100644 index 0000000..216c1c2 --- /dev/null +++ b/archive/q/brainf-ck/a/81/index.html @@ -0,0 +1,105 @@ + + + + + 問題 #3 - 回答 #81 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #81

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #81

+

+ m3m0r7 が 2024-03-09 10:35:31 に投稿 +

+

コード

+

+ 300 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],'[',']'=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case '\n' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+
P
+Fatal error: Uncaught UnhandledMatchError: Unhandled match case '\n' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case ' ' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/82/index.html b/archive/q/brainf-ck/a/82/index.html new file mode 100644 index 0000000..0d69bb7 --- /dev/null +++ b/archive/q/brainf-ck/a/82/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #82 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #82

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #82

+

+ m3m0r7 が 2024-03-09 10:36:58 に投稿 +

+

コード

+

+ 300 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$a?1:-1,$d+=($o=$s[$q])=='['?$a?1:-1:($o==']'?$a?-1:1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/83/index.html b/archive/q/brainf-ck/a/83/index.html new file mode 100644 index 0000000..3294a3a --- /dev/null +++ b/archive/q/brainf-ck/a/83/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #83 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #83

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #83

+

+ m3m0r7 が 2024-03-09 10:41:11 に投稿 +

+

コード

+

+ 296 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and$c==']'&&$d>0;$q+=$r=$a?1:-1,$d+=($o=$s[$q])=='['?$r:($o==']'?~$r+1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/84/index.html b/archive/q/brainf-ck/a/84/index.html new file mode 100644 index 0000000..a6988cc --- /dev/null +++ b/archive/q/brainf-ck/a/84/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #84 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #84

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #84

+

+ m3m0r7 が 2024-03-09 10:47:09 に投稿 +

+

コード

+

+ 292 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$q+=$r=$a?1:-1,$d+=($o=$s[$q])=='['?$r:($o==']'?~$r+1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/85/index.html b/archive/q/brainf-ck/a/85/index.html new file mode 100644 index 0000000..10730db --- /dev/null +++ b/archive/q/brainf-ck/a/85/index.html @@ -0,0 +1,95 @@ + + + + + 問題 #3 - 回答 #85 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #85

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #85

+

+ m3m0r7 が 2024-03-09 10:54:04 に投稿 +

+

コード

+

+ 275 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[];$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>@++$p,'<'=>@--$p,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;--$q,$d+=($o=$s[$q])=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+
	
+
+	
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $p in php.wasm code on line 6
+PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+


+
	


+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/86/index.html b/archive/q/brainf-ck/a/86/index.html new file mode 100644 index 0000000..3292230 --- /dev/null +++ b/archive/q/brainf-ck/a/86/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #86 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #86

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #86

+

+ m3m0r7 が 2024-03-09 10:54:25 に投稿 +

+

コード

+

+ 278 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;--$q,$d+=($o=$s[$q])=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/87/index.html b/archive/q/brainf-ck/a/87/index.html new file mode 100644 index 0000000..f1df48e --- /dev/null +++ b/archive/q/brainf-ck/a/87/index.html @@ -0,0 +1,86 @@ + + + + + 問題 #3 - 回答 #87 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #87

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #87

+

+ m3m0r7 が 2024-03-09 11:00:59 に投稿 +

+

コード

+

+ 275 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<x'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;--$q,$d+=($o=$s[$q])=='['?-1:(!$o?1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/88/index.html b/archive/q/brainf-ck/a/88/index.html new file mode 100644 index 0000000..cc9dd9e --- /dev/null +++ b/archive/q/brainf-ck/a/88/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #88 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #88

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #88

+

+ m3m0r7 が 2024-03-09 11:02:01 に投稿 +

+

コード

+

+ 277 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;--$q,$d+=$s[$q]=='['?-1:($s[$q]==']'?1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/89/index.html b/archive/q/brainf-ck/a/89/index.html new file mode 100644 index 0000000..4b5e62c --- /dev/null +++ b/archive/q/brainf-ck/a/89/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #89 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #89

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #89

+

+ m3m0r7 が 2024-03-09 11:04:47 に投稿 +

+

コード

+

+ 276 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>@++$m[$p],'-'=>@--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/9/index.html b/archive/q/brainf-ck/a/9/index.html new file mode 100644 index 0000000..c368199 --- /dev/null +++ b/archive/q/brainf-ck/a/9/index.html @@ -0,0 +1,100 @@ + + + + + 問題 #3 - 回答 #9 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #9

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #9

+

+ tadsan が 2024-03-07 16:13:06 に投稿 +

+

コード

+

+ 374 byte +

+
$s=fread(STDIN,9999);$c=$p=0;while($c<strlen($s)){switch($s[$c]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]??=0;$m[$p]++;break;case'-':$m[$p]??=0;$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!($m[$p]??0)){$d=1;while($d>0){match($s[++$c]){'['=>$d++,']'=>$d--};}}break;case']':if($m[$p]??0){$d=1;while($d>0){match($s[--$c]){']'=>$d++,'['=>$d--};}}}$c++;}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case '-' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught UnhandledMatchError: Unhandled match case ' ' in php.wasm code:6
+Stack trace:
+#0 {main}
+  thrown in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/90/index.html b/archive/q/brainf-ck/a/90/index.html new file mode 100644 index 0000000..3be2eb8 --- /dev/null +++ b/archive/q/brainf-ck/a/90/index.html @@ -0,0 +1,102 @@ + + + + + 問題 #3 - 回答 #90 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #90

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #90

+

+ tsbkw が 2024-03-09 11:43:58 に投稿 +

+

コード

+

+ 325 byte +

+
for($i=$b=0;$c=$argv[1][$i++];)switch($c){case'+':$m[$b]=($m[$b]+1)%256;break;case'-':$m[$b]=($m[$b]+255)%256;break;case'>':$b++;break;case'<':$b--;break;case'[':if(!$m[$b])for(;$n=1;$c=$argv[1][$i++])$n+=$c=='['?-1:($c==']');break;case']':for(;$n=1;$c=$argv[1][--$i])$n+=$c==']'?-1:($c=='[');break;case'.':echo chr($m[$b]);}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined array key 1 in php.wasm code on line 6
+
+Warning: Trying to access array offset on value of type null in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined array key 1 in php.wasm code on line 6
+
+Warning: Trying to access array offset on value of type null in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined array key 1 in php.wasm code on line 6
+
+Warning: Trying to access array offset on value of type null in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/91/index.html b/archive/q/brainf-ck/a/91/index.html new file mode 100644 index 0000000..3ad2a90 --- /dev/null +++ b/archive/q/brainf-ck/a/91/index.html @@ -0,0 +1,108 @@ + + + + + 問題 #3 - 回答 #91 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #91

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #91

+

+ tsbkw が 2024-03-09 11:45:32 に投稿 +

+

コード

+

+ 379 byte +

+
for($i=$b=0;$c=stream_get_contents(STDIN)[$i++];)switch($c){case'+':$m[$b]=($m[$b]+1)%256;break;case'-':$m[$b]=($m[$b]+255)%256;break;case'>':$b++;break;case'<':$b--;break;case'[':if(!$m[$b])for(;$n=1;$c=stream_get_contents(STDIN)[$i++])$n+=$c=='['?-1:($c==']');break;case']':for(;$n=1;$c=stream_get_contents(STDIN)[--$i])$n+=$c==']'?-1:($c=='[');break;case'.':echo chr($m[$b]);}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Trying to access array offset on value of type null in php.wasm code on line 6
+
+Warning: Uninitialized string offset 1 in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Trying to access array offset on value of type null in php.wasm code on line 6
+
+Warning: Uninitialized string offset 1 in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Trying to access array offset on value of type null in php.wasm code on line 6
+
+Warning: Uninitialized string offset 1 in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/92/index.html b/archive/q/brainf-ck/a/92/index.html new file mode 100644 index 0000000..6335499 --- /dev/null +++ b/archive/q/brainf-ck/a/92/index.html @@ -0,0 +1,257 @@ + + + + + 問題 #3 - 回答 #92 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #92

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #92

+

+ tsbkw が 2024-03-09 11:46:49 に投稿 +

+

コード

+

+ 322 byte +

+
for($s=stream_get_contents(STDIN);$p<strlen($s);)switch($s[$p++]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;++$p;$d+=$s[$p]=='['?-1:($s[$p]==']'));break;case']':if($m[$p])for($d=-1;--$p;$d+=$s[$p]==']'?-1:($s[$p]=='['));}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $p in php.wasm code on line 6
+
+Warning: Undefined variable $p in php.wasm code on line 6
+
+Warning: String offset cast occurred in php.wasm code on line 6
+
+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Undefined array key 1 in php.wasm code on line 6
+
+Warning: Undefined array key 2 in php.wasm code on line 6
+
+Warning: Undefined array key 3 in php.wasm code on line 6
+
+Warning: Undefined array key 4 in php.wasm code on line 6
+
+Warning: Undefined array key 5 in php.wasm code on line 6
+
+Warning: Undefined array key 6 in php.wasm code on line 6
+
+Warning: Undefined array key 7 in php.wasm code on line 6
+
+Warning: Undefined array key 8 in php.wasm code on line 6
+
+Warning: Undefined array key 9 in php.wasm code on line 6
+
+Warning: Undefined array key 10 in php.wasm code on line 6
+
+Warning: Undefined array key 11 in php.wasm code on line 6
+
+Warning: Undefined array key 12 in php.wasm code on line 6
+
+Warning: Undefined array key 13 in php.wasm code on line 6
+
+Warning: Undefined array key 14 in php.wasm code on line 6
+
+Warning: Undefined array key 15 in php.wasm code on line 6
+
+Warning: Undefined array key 16 in php.wasm code on line 6
+
+Warning: Undefined array key 17 in php.wasm code on line 6
+
+Warning: Undefined array key 18 in php.wasm code on line 6
+
+Warning: Undefined array key 19 in php.wasm code on line 6
+
+Warning: Undefined array key 20 in php.wasm code on line 6
+
+Warning: Undefined array key 21 in php.wasm code on line 6
+
+Warning: Undefined array key 22 in php.wasm code on line 6
+
+Warning: Undefined array key 23 in php.wasm code on line 6
+
+Warning: Undefined array key 24 in php.wasm code on line 6
+
+Warning: Undefined array key 25 in php.wasm code on line 6
+
+Warning: Undefined array key 26 in php.wasm code on line 6
+
+Warning: Undefined array key 27 in php.wasm code on line 6
+
+Warning: Undefined array key 28 in php.wasm code on line 6
+
+Warning: Undefined array key 29 in php.wasm code on line 6
+
+Warning: Undefined array key 30 in php.wasm code on line 6
+
+Warning: Undefined array key 31 in php.wasm code on line 6
+
+Warning: Undefined array key 32 in php.wasm code on line 6
+
+Warning: Undefined array key 33 in php.wasm code on line 6
+
+Warning: Undefined array key 34 in php.wasm code on line 6
+
+Warning: Undefined array key 35 in php.wasm code on line 6
+
+Warning: Undefined array key 36 in php.wasm code on line 6
+
+Warning: Undefined array key 37 in php.wasm code on line 6
+
+Warning: Undefined array key 38 in php.wasm code on line 6
+
+Warning: Undefined array key 39 in php.wasm code on line 6
+
+Warning: Undefined array key 40 in php.wasm code on line 6
+
+Warning: Undefined array key 41 in php.wasm code on line 6
+
+Warning: Undefined array key 42 in php.wasm code on line 6
+
+Warning: Undefined array key 43 in php.wasm code on line 6
+
+Warning: Undefined array key 44 in php.wasm code on line 6
+
+Warning: Undefined array key 45 in php.wasm code on line 6
+
+Warning: Undefined array key 46 in php.wasm code on line 6
+
+Warning: Undefined array key 47 in php.wasm code on line 6
+
+Warning: Undefined array key 48 in php.wasm code on line 6
+
+Warning: Undefined array key 49 in php.wasm code on line 6
+
+Warning: Undefined array key 50 in php.wasm code on line 6
+
+Warning: Undefined array key 51 in php.wasm code on line 6
+
+Warning: Undefined array key 52 in php.wasm code on line 6
+
+Warning: Undefined array key 53 in php.wasm code on line 6
+
+Warning: Undefined array key 54 in php.wasm code on line 6
+
+Warning: Undefined array key 55 in php.wasm code on line 6
+
+Warning: Undefined array key 56 in php.wasm code on line 6
+
+Warning: Undefined array key 57 in php.wasm code on line 6
+
+Warning: Undefined array key 58 in php.wasm code on line 6
+
+Warning: Undefined array key 59 in php.wasm code on line 6
+
+Warning: Undefined array key 60 in php.wasm code on line 6
+
+Warning: Undefined array key 61 in php.wasm code on line 6
+
+Warning: Undefined array key 62 in php.wasm code on line 6
+
+Warning: Undefined array key 63 in php.wasm code on line 6
+
+Warning: Undefined array key 64 in php.wasm code on line 6
+
+Warning: Undefined array key 65 in php.wasm code on line 6
+
+Warning: Undefined array key 66 in php.wasm code on line 6
+
+Warning: Undefined array key 67 in php.wasm code on line 6
+
+Warning: Undefined array key 68 in php.wasm code on line 6
+
+Warning: Undefined array key 69 in php.wasm code on line 6
+
+Warning: Undefined array key 70 in php.wasm code on line 6
+
+Warning: Undefined array key 71 in php.wasm code on line 6
+
+Warning: Undefined array key 72 in php.wasm code on line 6
+
+Warning: Undefined array key 73 in php.wasm code on line 6
+
+Warning: Undefined array key 74 in php.wasm code on line 6
+
+Warning: Undefined array key 75 in php.wasm code on line 6
+
+Warning: Undefined array key 76 in php.wasm code on line 6
+
+Warning: Undefined array key 77 in php.wasm code on line 6
+
+Warning: Undefined array key 78 in php.wasm code on line 6
+
+Warning: Undefined array key 79 in php.wasm code on line 6
+
+Warning: Undefined array key 80 in php.wasm code on line 6
+
+Warning: Undefined array key 81 in php.wasm code on line 6
+
+Deprecated: chr(): Passing null to parameter #1 ($codepoint) of type int is deprecated in php.wasm code on line 6
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/93/index.html b/archive/q/brainf-ck/a/93/index.html new file mode 100644 index 0000000..0c53025 --- /dev/null +++ b/archive/q/brainf-ck/a/93/index.html @@ -0,0 +1,251 @@ + + + + + 問題 #3 - 回答 #93 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #93

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #93

+

+ tsbkw が 2024-03-09 11:48:35 に投稿 +

+

コード

+

+ 327 byte +

+
$p=0;for($s=stream_get_contents(STDIN);$p<strlen($s);)switch($s[$p++]){case'>':$p++;break;case'<':$p--;break;case'+':$m[$p]++;break;case'-':$m[$p]--;break;case'.':echo chr($m[$p]);break;case'[':if(!$m[$p])for($d=1;++$p;$d+=$s[$p]=='['?-1:($s[$p]==']'));break;case']':if($m[$p])for($d=-1;--$p;$d+=$s[$p]==']'?-1:($s[$p]=='['));}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $m in php.wasm code on line 6
+
+Warning: Undefined array key 1 in php.wasm code on line 6
+
+Warning: Undefined array key 2 in php.wasm code on line 6
+
+Warning: Undefined array key 3 in php.wasm code on line 6
+
+Warning: Undefined array key 4 in php.wasm code on line 6
+
+Warning: Undefined array key 5 in php.wasm code on line 6
+
+Warning: Undefined array key 6 in php.wasm code on line 6
+
+Warning: Undefined array key 7 in php.wasm code on line 6
+
+Warning: Undefined array key 8 in php.wasm code on line 6
+
+Warning: Undefined array key 9 in php.wasm code on line 6
+
+Warning: Undefined array key 10 in php.wasm code on line 6
+
+Warning: Undefined array key 11 in php.wasm code on line 6
+
+Warning: Undefined array key 12 in php.wasm code on line 6
+
+Warning: Undefined array key 13 in php.wasm code on line 6
+
+Warning: Undefined array key 14 in php.wasm code on line 6
+
+Warning: Undefined array key 15 in php.wasm code on line 6
+
+Warning: Undefined array key 16 in php.wasm code on line 6
+
+Warning: Undefined array key 17 in php.wasm code on line 6
+
+Warning: Undefined array key 18 in php.wasm code on line 6
+
+Warning: Undefined array key 19 in php.wasm code on line 6
+
+Warning: Undefined array key 20 in php.wasm code on line 6
+
+Warning: Undefined array key 21 in php.wasm code on line 6
+
+Warning: Undefined array key 22 in php.wasm code on line 6
+
+Warning: Undefined array key 23 in php.wasm code on line 6
+
+Warning: Undefined array key 24 in php.wasm code on line 6
+
+Warning: Undefined array key 25 in php.wasm code on line 6
+
+Warning: Undefined array key 26 in php.wasm code on line 6
+
+Warning: Undefined array key 27 in php.wasm code on line 6
+
+Warning: Undefined array key 28 in php.wasm code on line 6
+
+Warning: Undefined array key 29 in php.wasm code on line 6
+
+Warning: Undefined array key 30 in php.wasm code on line 6
+
+Warning: Undefined array key 31 in php.wasm code on line 6
+
+Warning: Undefined array key 32 in php.wasm code on line 6
+
+Warning: Undefined array key 33 in php.wasm code on line 6
+
+Warning: Undefined array key 34 in php.wasm code on line 6
+
+Warning: Undefined array key 35 in php.wasm code on line 6
+
+Warning: Undefined array key 36 in php.wasm code on line 6
+
+Warning: Undefined array key 37 in php.wasm code on line 6
+
+Warning: Undefined array key 38 in php.wasm code on line 6
+
+Warning: Undefined array key 39 in php.wasm code on line 6
+
+Warning: Undefined array key 40 in php.wasm code on line 6
+
+Warning: Undefined array key 41 in php.wasm code on line 6
+
+Warning: Undefined array key 42 in php.wasm code on line 6
+
+Warning: Undefined array key 43 in php.wasm code on line 6
+
+Warning: Undefined array key 44 in php.wasm code on line 6
+
+Warning: Undefined array key 45 in php.wasm code on line 6
+
+Warning: Undefined array key 46 in php.wasm code on line 6
+
+Warning: Undefined array key 47 in php.wasm code on line 6
+
+Warning: Undefined array key 48 in php.wasm code on line 6
+
+Warning: Undefined array key 49 in php.wasm code on line 6
+
+Warning: Undefined array key 50 in php.wasm code on line 6
+
+Warning: Undefined array key 51 in php.wasm code on line 6
+
+Warning: Undefined array key 52 in php.wasm code on line 6
+
+Warning: Undefined array key 53 in php.wasm code on line 6
+
+Warning: Undefined array key 54 in php.wasm code on line 6
+
+Warning: Undefined array key 55 in php.wasm code on line 6
+
+Warning: Undefined array key 56 in php.wasm code on line 6
+
+Warning: Undefined array key 57 in php.wasm code on line 6
+
+Warning: Undefined array key 58 in php.wasm code on line 6
+
+Warning: Undefined array key 59 in php.wasm code on line 6
+
+Warning: Undefined array key 60 in php.wasm code on line 6
+
+Warning: Undefined array key 61 in php.wasm code on line 6
+
+Warning: Undefined array key 62 in php.wasm code on line 6
+
+Warning: Undefined array key 63 in php.wasm code on line 6
+
+Warning: Undefined array key 64 in php.wasm code on line 6
+
+Warning: Undefined array key 65 in php.wasm code on line 6
+
+Warning: Undefined array key 66 in php.wasm code on line 6
+
+Warning: Undefined array key 67 in php.wasm code on line 6
+
+Warning: Undefined array key 68 in php.wasm code on line 6
+
+Warning: Undefined array key 69 in php.wasm code on line 6
+
+Warning: Undefined array key 70 in php.wasm code on line 6
+
+Warning: Undefined array key 71 in php.wasm code on line 6
+
+Warning: Undefined array key 72 in php.wasm code on line 6
+
+Warning: Undefined array key 73 in php.wasm code on line 6
+
+Warning: Undefined array key 74 in php.wasm code on line 6
+
+Warning: Undefined array key 75 in php.wasm code on line 6
+
+Warning: Undefined array key 76 in php.wasm code on line 6
+
+Warning: Undefined array key 77 in php.wasm code on line 6
+
+Warning: Undefined array key 78 in php.wasm code on line 6
+
+Warning: Undefined array key 79 in php.wasm code on line 6
+
+Warning: Undefined array key 80 in php.wasm code on line 6
+
+Warning: Undefined array key 81 in php.wasm code on line 6
+
+Deprecated: chr(): Passing null to parameter #1 ($codepoint) of type int is deprecated in php.wasm code on line 6
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 時間制限超過 +
+

標準出力

+
+

標準エラー出力

+
Time Limit Exceeded: 10000 msec
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/94/index.html b/archive/q/brainf-ck/a/94/index.html new file mode 100644 index 0000000..cd26412 --- /dev/null +++ b/archive/q/brainf-ck/a/94/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #94 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #94

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #94

+

+ tsbkw が 2024-03-09 11:52:47 に投稿 +

+

コード

+

+ 361 byte +

+
($t=fgets(STDIN))&&$m=[]&&$p=0&&array_map(fn($c)=>$c==='>'?$p++:$c==='<'?$p--:$c==='+'?($m[$p]??0)++:$c==='-'?($m[$p]??0)--:$c==='.'?print chr($m[$p]):$c==='['&&(!$m[$p]&&$d=1)&&array_map(fn($c)=>$d+=($c==']')-($c=='['),str_split($t))||$c===']'&&$m[$p]&&($d=1)&&array_map(fn($c)=>$d-=($c==']')-($c=='['),array_reverse(str_split(substr($t,0,strpos($t,']')+1))));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token "++" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token "++" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token "++" in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/95/index.html b/archive/q/brainf-ck/a/95/index.html new file mode 100644 index 0000000..f9f47a5 --- /dev/null +++ b/archive/q/brainf-ck/a/95/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #95 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #95

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #95

+

+ tsbkw が 2024-03-09 11:54:17 に投稿 +

+

コード

+

+ 380 byte +

+
<?=($s=fgets(STDIN))&&$m=[]&&$p=0&&array_map(fn($c)=>$c==='>'?$p++:$c==='<'?$p--:$c==='+'?($m[$p]??0)++:$c==='-'?($m[$p]??0)--:$c==='.'?print chr($m[$p]):$c==='['&&(!$m[$p]&&$d=1)&&array_map(fn($c)=>$d+=($c==']')-($c=='['),str_split($s))||$c===']'&&$m[$p]&&($d=1)&&array_map(fn($c)=>$d-=($c==']')-($c=='['),array_slice(array_reverse(str_split(substr($s,0,strpos($s,']')+1))),1));```
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token "=", expecting end of file in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token "=", expecting end of file in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Parse error: syntax error, unexpected token "=", expecting end of file in php.wasm code on line 6
+
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/96/index.html b/archive/q/brainf-ck/a/96/index.html new file mode 100644 index 0000000..ba27ba3 --- /dev/null +++ b/archive/q/brainf-ck/a/96/index.html @@ -0,0 +1,96 @@ + + + + + 問題 #3 - 回答 #96 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #96

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #96

+

+ takaram が 2024-03-09 11:58:47 に投稿 +

+

コード

+

+ 271 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){for($d=1;$d+=['['=>$r,']'=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;$d=&$m[$t])match($s[$p]){'>'=>$t++,'<'=>$t--,'+'=>$d++,'-'=>$d--,'.'=>print chr($d),'['=>$d||l($s,$p,1),']'=>$d&&l($s,$p,-1),default=>0};
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+?X__bLbe_W	
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+OHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined variable $d in php.wasm code on line 6
+�u��v��u��v��v��v���u�
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/97/index.html b/archive/q/brainf-ck/a/97/index.html new file mode 100644 index 0000000..03cf349 --- /dev/null +++ b/archive/q/brainf-ck/a/97/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #97 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #97

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #97

+

+ takaram が 2024-03-09 12:16:50 に投稿 +

+

コード

+

+ 274 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){for($d=1;$d+=["["=>$r,"]"=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;){$a=&$m[$t];match($s[$p]){">"=>$t++,"<"=>$t--,"+"=>$a++,"-"=>$a--,"."=>print chr($a),"["=>$a||l($s,$p,1),"]"=>$a&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/98/index.html b/archive/q/brainf-ck/a/98/index.html new file mode 100644 index 0000000..67649c2 --- /dev/null +++ b/archive/q/brainf-ck/a/98/index.html @@ -0,0 +1,91 @@ + + + + + 問題 #3 - 回答 #98 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #98

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #98

+

+ takaram が 2024-03-09 12:47:10 に投稿 +

+

コード

+

+ 272 byte +

+
$s=stream_get_contents(STDIN);$p=-1;function l($s,&$p,$r){for($d=1;$d+=["["=>$r,"]"=>-$r][$s[$p+=$r]]??0;);}for($m=[$t=0];$s[++$p]??0;){$a=&$m[$t];match(ord($s[$p])){62=>$t++,60=>$t--,43=>$a++,45=>$a--,46=>print chr($a),91=>$a||l($s,$p,1),93=>$a&&l($s,$p,-1),default=>0};}
+

実行結果

+
+
+
+ ステータス: OK +
+
+

テストケース 1

+
+ ステータス: OK +
+

標準出力

+
Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: OK +
+

標準出力

+
PHPerKaigi 2024
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: OK +
+

標準出力

+
グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/99/index.html b/archive/q/brainf-ck/a/99/index.html new file mode 100644 index 0000000..7f3e05c --- /dev/null +++ b/archive/q/brainf-ck/a/99/index.html @@ -0,0 +1,147 @@ + + + + + 問題 #3 - 回答 #99 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答 #99

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答 #99

+

+ m3m0r7 が 2024-03-09 13:37:08 に投稿 +

+

コード

+

+ 274 byte +

+
for($s=fread(STDIN,9999),$q=0,$m=[],$p=0;$q<strlen($s);$q++)for(match($c=$s[$q]){'>'=>$p++,'<'=>$p--,'.'=>print chr($m[$p]),'+'=>++$m[$p],'-'=>--$m[$p],default=>0},$d=1,$b=!!@$m[$p],$a=$c=='[';$a||$c==']'and!$b&&$a||$b and!$a&&$d>0;$o=$s[--$q],$d+=$o=='['?-1:($o==']'?1:0));
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined array key 0 in php.wasm code on line 6
+
+Warning: Undefined array key 1 in php.wasm code on line 6
+
+Warning: Undefined array key 2 in php.wasm code on line 6
+
+Warning: Undefined array key 3 in php.wasm code on line 6
+
+Warning: Undefined array key 4 in php.wasm code on line 6
+
+Warning: Undefined array key 5 in php.wasm code on line 6
+
+Warning: Undefined array key 6 in php.wasm code on line 6
+Hello World!
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined array key 0 in php.wasm code on line 6
+P
+Warning: Undefined array key 1 in php.wasm code on line 6
+H
+Warning: Undefined array key 2 in php.wasm code on line 6
+P
+Warning: Undefined array key 3 in php.wasm code on line 6
+e
+Warning: Undefined array key 4 in php.wasm code on line 6
+r
+Warning: Undefined array key 5 in php.wasm code on line 6
+K
+Warning: Undefined array key 6 in php.wasm code on line 6
+a
+Warning: Undefined array key 7 in php.wasm code on line 6
+i
+Warning: Undefined array key 8 in php.wasm code on line 6
+g
+Warning: Undefined array key 9 in php.wasm code on line 6
+i
+Warning: Undefined array key 10 in php.wasm code on line 6
+ 
+Warning: Undefined array key 11 in php.wasm code on line 6
+2
+Warning: Undefined array key 12 in php.wasm code on line 6
+0
+Warning: Undefined array key 13 in php.wasm code on line 6
+2
+Warning: Undefined array key 14 in php.wasm code on line 6
+4
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 不正解 +
+

標準出力

+

+Warning: Undefined array key 0 in php.wasm code on line 6
+
+Warning: Undefined array key 1 in php.wasm code on line 6
+
+Warning: Undefined array key 2 in php.wasm code on line 6
+
+Warning: Undefined array key 3 in php.wasm code on line 6
+
+Warning: Undefined array key 4 in php.wasm code on line 6
+
+Warning: Undefined array key 5 in php.wasm code on line 6
+グレゴール・寒サ
+
+

標準エラー出力

+

+
+
+ +
+ + + diff --git a/archive/q/brainf-ck/a/index.html b/archive/q/brainf-ck/a/index.html new file mode 100644 index 0000000..04605a6 --- /dev/null +++ b/archive/q/brainf-ck/a/index.html @@ -0,0 +1,1364 @@ + + + + + 問題 #3 - 回答一覧 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3 - 回答一覧

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

回答一覧

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ランクID作者サイズ投稿日時ステータス
+ 1 + + #101 + takaram263 byte2024-03-09 14:33:37OK
+ 2 + + #98 + takaram272 byte2024-03-09 12:47:10OK
+ 3 + + #107 + m3m0r7273 byte2024-03-09 14:50:06OK
+ 4 + + #97 + takaram274 byte2024-03-09 12:16:50OK
+ 5 + + #106 + m3m0r7275 byte2024-03-09 14:49:33OK
+ 6 + + #89 + m3m0r7276 byte2024-03-09 11:04:47OK
+ 7 + + #88 + m3m0r7277 byte2024-03-09 11:02:01OK
+ 8 + + #86 + m3m0r7278 byte2024-03-09 10:54:25OK
+ 9 + + #69 + takaram281 byte2024-03-08 21:05:55OK
+ 10 + + #84 + m3m0r7292 byte2024-03-09 10:47:09OK
+ 11 + + #83 + m3m0r7296 byte2024-03-09 10:41:11OK
+ 12 + + #68 + takaram300 byte2024-03-08 21:04:04OK
+ 13 + + #82 + m3m0r7300 byte2024-03-09 10:36:58OK
+ 14 + + #64 + takaram301 byte2024-03-08 18:19:07OK
+ 15 + + #80 + m3m0r7302 byte2024-03-09 10:33:00OK
+ 16 + + #78 + m3m0r7311 byte2024-03-09 10:31:16OK
+ 17 + + #63 + m3m0r7338 byte2024-03-08 17:53:38OK
+ 18 + + #7 + nsfisis (staff)341 byte2024-03-07 16:02:44OK
+ 19 + + #57 + m3m0r7341 byte2024-03-08 16:24:31OK
+ 20 + + #58 + m3m0r7341 byte2024-03-08 16:25:44OK
+ 21 + + #38 + tadsan (staff)343 byte2024-03-08 05:43:06OK
+ 22 + + #76 + tadsan (staff)343 byte2024-03-09 04:38:01OK
+ 23 + + #37 + tadsan (staff)344 byte2024-03-08 05:41:46OK
+ 24 + + #53 + m3m0r7350 byte2024-03-08 16:17:56OK
+ 25 + + #36 + tadsan (staff)352 byte2024-03-08 05:40:10OK
+ 26 + + #47 + m3m0r7357 byte2024-03-08 15:48:47OK
+ 27 + + #45 + m3m0r7360 byte2024-03-08 15:44:20OK
+ 28 + + #34 + tadsan (staff)362 byte2024-03-08 05:33:54OK
+ 29 + + #32 + tadsan (staff)363 byte2024-03-08 05:31:32OK
+ 30 + + #31 + tadsan (staff)373 byte2024-03-08 05:28:26OK
+ 31 + + #30 + tadsan (staff)383 byte2024-03-08 05:26:59OK
+ 32 + + #26 + tadsan (staff)385 byte2024-03-08 04:27:26OK
+ 33 + + #29 + tadsan (staff)385 byte2024-03-08 04:45:20OK
+ 34 + + #109 + hanhan1978392 byte2024-03-09 15:33:46OK
+ 35 + + #108 + hanhan1978397 byte2024-03-09 15:22:11OK
+ 36 + + #72 + takaram404 byte2024-03-09 00:30:50OK
+ 37 + + #5 + tadsan (staff)405 byte2024-03-06 21:10:44OK
+ 38 + + #17 + yamamoto-hiroya415 byte2024-03-08 02:05:50OK
+ 39 + + #73 + hanhan1978447 byte2024-03-09 01:41:06OK
+ 40 + + #61 + hanhan1978457 byte2024-03-08 16:37:25OK
+ 41 + + #42 + rinchoku481 byte2024-03-08 07:55:27OK
+ 42 + + #23 + kunikiya495 byte2024-03-08 02:48:15OK
+ 43 + + #12 + yamamoto-hiroya499 byte2024-03-08 01:18:12OK
+ 44 + + #22 + kunikiya499 byte2024-03-08 02:45:37OK
+ 45 + + #60 + hanhan1978504 byte2024-03-08 16:34:46OK
+ 46 + + #21 + kunikiya509 byte2024-03-08 02:44:40OK
+ 47 + + #40 + rinchoku544 byte2024-03-08 07:43:02OK
+ 48 + + #16 + yamamoto-hiroya545 byte2024-03-08 02:02:02OK
+ 49 + + #41 + rinchoku555 byte2024-03-08 07:48:58OK
+ 50 + + #39 + rinchoku558 byte2024-03-08 07:38:40OK
+ 51 + + #20 + kunikiya569 byte2024-03-08 02:43:32OK
+ 52 + + #15 + yamamoto-hiroya585 byte2024-03-08 02:00:12OK
+ 53 + + #14 + yamamoto-hiroya603 byte2024-03-08 01:56:49OK
+ 54 + + #44 + m3m0r7665 byte2024-03-08 15:43:41OK
+ 55 + + #19 + kunikiya696 byte2024-03-08 02:40:04OK
+ 56 + + #13 + yamamoto-hiroya712 byte2024-03-08 01:43:52OK
+ 57 + + #56 + hanhan1978785 byte2024-03-08 16:22:56OK
+ 58 + + #54 + hanhan1978791 byte2024-03-08 16:17:57OK
+ 59 + + #50 + hanhan1978888 byte2024-03-08 16:05:40OK
+ 60 + + #52 + hanhan1978926 byte2024-03-08 16:16:47OK
+ 61 + + #1 + nsfisis (staff)1043 byte2024-03-06 03:57:49OK
+ 62 + + #2 + blue-goheimochi (staff)1043 byte2024-03-06 08:26:28OK
+ 63 + + #3 + muno92 (staff)1043 byte2024-03-06 08:42:52OK
+ 64 + + #11 + yamamoto-hiroya1043 byte2024-03-08 00:28:28OK
+ 65 + + #18 + kunikiya1043 byte2024-03-08 02:38:10OK
+ 66 + + #62 + okashoi1043 byte2024-03-08 16:45:23OK
+ 67 + + #77 + masnmt1043 byte2024-03-09 04:52:52OK
+ 68 + + #24 + tadsan (staff)72 byte2024-03-08 03:19:00失敗
+ 69 + + #100 + takaram262 byte2024-03-09 14:33:18失敗
+ 70 + + #96 + takaram271 byte2024-03-09 11:58:47失敗
+ 71 + + #102 + m3m0r7271 byte2024-03-09 14:42:46失敗
+ 72 + + #104 + m3m0r7271 byte2024-03-09 14:43:47失敗
+ 73 + + #103 + m3m0r7273 byte2024-03-09 14:43:05失敗
+ 74 + + #105 + m3m0r7273 byte2024-03-09 14:44:45失敗
+ 75 + + #99 + m3m0r7274 byte2024-03-09 13:37:08失敗
+ 76 + + #85 + m3m0r7275 byte2024-03-09 10:54:04失敗
+ 77 + + #87 + m3m0r7275 byte2024-03-09 11:00:59失敗
+ 78 + + #65 + takaram278 byte2024-03-08 19:31:13失敗
+ 79 + + #66 + takaram278 byte2024-03-08 19:39:42失敗
+ 80 + + #70 + takaram280 byte2024-03-08 21:06:49失敗
+ 81 + + #67 + takaram293 byte2024-03-08 21:02:57失敗
+ 82 + + #81 + m3m0r7300 byte2024-03-09 10:35:31失敗
+ 83 + + #79 + m3m0r7301 byte2024-03-09 10:32:47失敗
+ 84 + + #92 + tsbkw322 byte2024-03-09 11:46:49失敗
+ 85 + + #90 + tsbkw325 byte2024-03-09 11:43:58失敗
+ 86 + + #93 + tsbkw327 byte2024-03-09 11:48:35失敗
+ 87 + + #74 + tadsan (staff)342 byte2024-03-09 04:37:26失敗
+ 88 + + #75 + tadsan (staff)342 byte2024-03-09 04:37:49失敗
+ 89 + + #35 + tadsan (staff)350 byte2024-03-08 05:38:33失敗
+ 90 + + #6 + nsfisis (staff)355 byte2024-03-07 15:37:59失敗
+ 91 + + #10 + tadsan (staff)360 byte2024-03-07 16:19:25失敗
+ 92 + + #33 + tadsan (staff)361 byte2024-03-08 05:33:11失敗
+ 93 + + #94 + tsbkw361 byte2024-03-09 11:52:47失敗
+ 94 + + #8 + tadsan (staff)373 byte2024-03-07 16:12:42失敗
+ 95 + + #4 + tadsan (staff)374 byte2024-03-06 21:07:43失敗
+ 96 + + #9 + tadsan (staff)374 byte2024-03-07 16:13:06失敗
+ 97 + + #46 + oogFranz375 byte2024-03-08 15:46:56失敗
+ 98 + + #91 + tsbkw379 byte2024-03-09 11:45:32失敗
+ 99 + + #27 + tadsan (staff)380 byte2024-03-08 04:37:11失敗
+ 100 + + #95 + tsbkw380 byte2024-03-09 11:54:17失敗
+ 101 + + #25 + tadsan (staff)385 byte2024-03-08 04:22:52失敗
+ 102 + + #28 + tadsan (staff)386 byte2024-03-08 04:42:48失敗
+ 103 + + #71 + takaram401 byte2024-03-09 00:30:21失敗
+ 104 + + #59 + hanhan1978493 byte2024-03-08 16:29:09失敗
+ 105 + + #43 + ticknical580 byte2024-03-08 10:23:21失敗
+ 106 + + #55 + hanhan1978713 byte2024-03-08 16:20:21失敗
+ 107 + + #51 + hanhan1978867 byte2024-03-08 16:14:59失敗
+ 108 + + #48 + hanhan1978883 byte2024-03-08 16:04:11失敗
+ 109 + + #49 + hanhan1978883 byte2024-03-08 16:04:53失敗
+
+ + + diff --git a/archive/q/brainf-ck/index.html b/archive/q/brainf-ck/index.html new file mode 100644 index 0000000..622f1b2 --- /dev/null +++ b/archive/q/brainf-ck/index.html @@ -0,0 +1,227 @@ + + + + + 問題 #3 | Albatross.PHP + + + + + +
+ +
+
+

問題 #3

+ + +

Brainf*ck

+

+ Brainf*ck を実装してください。標準入力から Brainf*ck のソースコードが渡されます。Brainf*ck の仕様のうち、入力命令である「,」は未実装で構いません。 + +一部明確に挙動が定められていない部分については、以下の仕様とします。 +メモリの各セルは 8 bit の符号なし整数です。今回の入力でオーバーフローは発生しません。 +メモリのアドレスは非負整数です。今回の入力で負のアドレスへポインタを動かすことはありません。 +Brainf*ck に存在する命令以外の文字を受け取った場合は無視してください。 +今回の入力に不正なプログラムは含まれません。すなわち、「[」と「]」は必ず釣り合っています。 +

+

実装例

+
$source = stream_get_contents(STDIN);
+$pc = 0;
+$memory = [];
+$ptr = 0;
+
+while ($pc < strlen($source)) {
+  switch ($source[$pc]) {
+  case '>':
+    $ptr++;
+    break;
+  case '<':
+    $ptr--;
+    break;
+  case '+':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]++;
+    break;
+  case '-':
+    if (!isset($memory[$ptr])) {
+      $memory[$ptr] = 0;
+    }
+    $memory[$ptr]--;
+    break;
+  case '.':
+    echo chr($memory[$ptr]);
+    break;
+  case '[':
+    if (!isset($memory[$ptr]) || $memory[$ptr] === 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc++;
+        if ($source[$pc] === '[') {
+          $depth++;
+        } elseif ($source[$pc] === ']') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  case ']':
+    if (isset($memory[$ptr]) && $memory[$ptr] !== 0) {
+      $depth = 1;
+      while ($depth > 0) {
+        $pc--;
+        if ($source[$pc] === ']') {
+          $depth++;
+        } elseif ($source[$pc] === '[') {
+          $depth--;
+        }
+      }
+    }
+    break;
+  }
+  $pc++;
+}
+

ランキング

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ランクID作者サイズ投稿日時
1 + #101 + takaram263 byte2024-03-09 14:33:37
2 + #107 + m3m0r7273 byte2024-03-09 14:50:06
3 + #7 + nsfisis (staff)341 byte2024-03-07 16:02:44
4 + #38 + tadsan (staff)343 byte2024-03-08 05:43:06
5 + #109 + hanhan1978392 byte2024-03-09 15:33:46
6 + #17 + yamamoto-hiroya415 byte2024-03-08 02:05:50
7 + #42 + rinchoku481 byte2024-03-08 07:55:27
8 + #23 + kunikiya495 byte2024-03-08 02:48:15
9 + #2 + blue-goheimochi (staff)1043 byte2024-03-06 08:26:28
10 + #3 + muno92 (staff)1043 byte2024-03-06 08:42:52
11 + #62 + okashoi1043 byte2024-03-08 16:45:23
12 + #77 + masnmt1043 byte2024-03-09 04:52:52
+
+ + +
+

+ すべての回答を見る +

+
+ + + -- cgit v1.2.3-70-g09d2