Skip to content

Commit

Permalink
update a01sa01to.md
Browse files Browse the repository at this point in the history
  • Loading branch information
a01sa01to committed Jun 30, 2024
1 parent bf63d19 commit e8c4638
Show file tree
Hide file tree
Showing 9 changed files with 318 additions and 1 deletion.
9 changes: 9 additions & 0 deletions answers/3d/1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
. > . > . . .
^ 1 . 1 * S .
A # . * . . .
. . v . > . .
. . . . 2 @ 3
. 1 + . . 3 .
. . . . . . .
. 1 @ 6 . . .
. . 3 . . . .
7 changes: 7 additions & 0 deletions answers/3d/2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
. 1 . . .
A + . . .
. . . . .
A % . . A
. . > . *
-1 # S . S
. . . . .
7 changes: 7 additions & 0 deletions answers/3d/3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
. . . . 0 .
. A > . = S
1 + . . . .
. . . . . .
A % . . A .
. . > . / .
-1 = S . S .
42 changes: 42 additions & 0 deletions answers/3d/4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// A, B が異符号の場合
// 最大 10 tick 必要
. B . 1 .
A * . + .
. . v . .
. . . % .
. . . . .
. . -1 = .
. . < . . // ここから A の符号を求める、左の分岐は A が正の場合
. v A - .
. . . . .
. v A % .
. . . . .
. v -1 = .
. . . . . // ここから下が実行されるのは A が負
1 + 1 + .
. . . . .
A + B + S
. S . . .

// A, B が正
// 11 tick 目に timewarp させるため最初は遅らせる
A > . > . > . . B > . > . > .
. . . . . . v . . . . . . . v
. . . < . < . . . . . < . < . .
. . v 1 . 0 . B . . v 1 . 0 . A
. . . - . = . + . . . - . = . +
. . . . v . . S . . . . v . . S
. . . < . . . . . . . < . . . .
. 0 @ 3 . . . . . 0 @ 3 . . . .
. . 3 . . . . . . . 3 . . . . .

// A, B が負
A > . > . > . . B > . > . > .
. . . . . . v . . . . . . . v
. . . < . < . . . . . < . < . .
. . v 1 . 0 . A . . v 1 . 0 . B
. . . + . = . + . . . + . = . +
. . . . v . . S . . . . v . . S
. . . < . . . . . . . < . . . .
. 0 @ 3 . . . . . 0 @ 3 . . . .
. . 3 . . . . . . . 3 . . . . .
11 changes: 11 additions & 0 deletions answers/3d/5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// continue: 6 tick
// end: 6 tick
. . . < . < B > . > . > . .
. 0 = . . A > . % . . . v .
. . . . . v . . . v . . . .
. . v . < . . . < . . . v .
. . . + . . . v . . . . . .
. B . . . . . . > . . . v .
A * . / S . . . 3 @ 6 . . .
. . . . . . . . . 6 . 7 @ 6
. . . . . . . . . . . . 6 .
8 changes: 8 additions & 0 deletions answers/3d/6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
. . . . 1 . . . . 2 .
. 2 > . + . > . A = .
A % . . . . . v . . /
. . . A = . . . . . S
. v . . . . 6 @ 3 . .
. . . A / S . 4 . . .
0 = . . . . . . . . .
. S . . . . . . . . .
14 changes: 14 additions & 0 deletions answers/3d/7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
. . . . . . . 10 . . . .
. > . > . > . * . > . .
^ . < A . . . . . . v .
. v . . . . . . 10 . . .
^ . > . > . > . % . + .
. . 0 = . v 10 . . . . .
^ . . . . . / . . 10 @ -1
0 > . + . . . > . . 10 .
. . < . . . . . v . . .
0 * A = . . . . . . . .
. . . . / . . . v . . .
. v . . S . . . . > . .
. S . . . . . . . 7 @ 10
. . . . . . . . . . 10 .
215 changes: 215 additions & 0 deletions notes/a01sa01to.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,218 @@ You scored some points for looking at the scoreboard! You can also do `get score
をしようとしたがコードリーディングで終わり

眠いので寝る

## day 2

09:50 起きた + ご飯食べたので再開

実装がすでに終わっているようなので進捗を見る。
spaceship の intro を読む。
どうやら 10 キーの数字の位置が移動を表しているらしい。

```text
7 8 9
4 5 6
1 2 3
```

上から 1 行目: vy +1
上から 2 行目: vy ±0
上から 3 行目: vy -1
左から 1 列目: vx -1
左から 2 列目: vx ±0
左から 3 列目: vx +1

めんどくさーい
でもこどげに同じような問題があった気がする、火星のやつ: <https://www.codingame.com/training/medium/mars-lander-episode-2>
なにか使えるかも?

lambdaman も読む。
あー経路探索ねぇ これは解けそうな気がする
いったんデータ全ダウンロードする。
level 6 の DL で stackoverflow してる、なぜ?

```text
B. SF B$ B$ L" B$ L" B$ L# B$ v" B$ v# v# L# B$ v" B$ v# v# L$ L# ? B= v# I" v" B. v" B$ v$ B- v# I" Sl I#,
```

あー parse 部分で default で node そのまま返してるせい?
いったん飛ばして lambdaman を手作業で解いてみる
(根を lambdaman の初期位置として決めて ~~木 dp とかすればいいのかも、なんか前に AtCoder で見たような: <https://atcoder.jp/contests/arc179/tasks/arc179_d> (似てるのはこれだが、今回は瞬間移動できない)~~ 木じゃないからダメ)

とりあえず lambdaman 1, 2 を解いた。
3 以降はプログラム的に最適解を求めたほうがよさそう。 (実装思いついてないので後でやる)

ほかの問題もダウンロードしちゃう。
3d, efficiency と思ったがまだできないらしい。

spaceship の 2 が最適じゃなかったっぽいので適当に手作業で直した。

ごはん + JAG 模擬国内予選ぞいぞい

## day 3

いろいろあって day 2 はあのまま終了。

14:00 やるか
3d, efficiency が開放されたので見てみる。

3d 読んだ。めっちゃおもしろそう。
3d1 を試しにやってみる。

15:32 解けた。 17433 点。
ベストが 4800 なのでもっと減らせるらしい。まじ?

```text
. . . . . 1 . . .
A > . > . = . . .
v 1 . . . . > . .
. - . . A > . * S
. . . . v . . . .
. v . . . . . . .
. . > . * . . . .
. v . . . . . . .
. . . 0 @ 5 . . .
. v . . 5 . . . .
. . . . . . . . .
1 @ 10 . . . . . .
. 5 . . . . . . .
```

カウントアップしていったほうが短くなりそう?
書いた ↓
score = 6300 えー

```text
. > . > . . .
^ 1 . 1 * S .
A # . * . . .
. . v . > . .
. . . . 2 @ 3
. 1 + . . 3 .
. . . . . . .
. 1 @ 6 . . .
. . 3 . . . .
```

いったん 3d2 に移動。
2550 、これで 16 位なの?えー

```text
. 1 . . .
A + . . .
. . . . .
A % . . A
. . > . *
-1 # S . S
. . . . .
```

3d3: 3738

```text
. . . . 0 .
. A > . = S
1 + . . . .
. . . . . .
A % . . A .
. . > . / .
-1 = S . S .
```

18:30 ようやく 3d4 が解けた: 157920 点。やばすぎる。
ちょっと直して 150640 点。たすけて~

```text
. B . 1 .
A * . + .
. . v . .
. . . % .
. . . . .
. . -1 = .
. . < . .
. v A - .
. . . . .
. v A % .
. . . . .
. v -1 = .
. . . . .
1 + 1 + .
. . . . .
A + B + S
. S . . .
A > . > . > . . B > . > . > .
. . . . . . v . . . . . . . v
. . . < . < . . . . . < . < . .
. . v 1 . 0 . B . . v 1 . 0 . A
. . . - . = . + . . . - . = . +
. . . . v . . S . . . . v . . S
. . . < . . . . . . . < . . . .
. 0 @ 3 . . . . . 0 @ 3 . . . .
. . 3 . . . . . . . 3 . . . . .
A > . > . > . . B > . > . > .
. . . . . . v . . . . . . . v
. . . < . < . . . . . < . < . .
. . v 1 . 0 . A . . v 1 . 0 . B
. . . + . = . + . . . + . = . +
. . . . v . . S . . . . v . . S
. . . < . . . . . . . < . . . .
. 0 @ 3 . . . . . 0 @ 3 . . . .
. . 3 . . . . . . . 3 . . . . .
```

19:05 3d5 解けたと思ったが tick limit に引っかかってるらしい。
visualizer ないとさすがにきつすぎるので作る。

20:55 ごはんたべた。 visualizer も (たぶん) できた。これでデバッグがしやすくなるぞい
3d2 みたかんじ、なんかコーナーケースが -1, -2 で発生してるのに気づいたのはここだけの話。

21:33 3d5 解けた~ 21168

```text
. . . < . < B > . > . > . .
. 0 = . . A > . % . . . v .
. . . . . v . . . v . . . .
. . v . < . . . < . . . v .
. . . + . . . v . . . . . .
. B . . . . . . > . . . v .
A * . / S . . . 3 @ 6 . . .
. . . . . . . . . 6 . 7 @ 6
. . . . . . . . . . . . 6 .
```

22:04 3d6 も解けた、コーナーケース (2) に殺された。。。

```text
. . . . 1 . . . . 2 .
. 2 > . + . > . A = .
A % . . . . . v . . /
. . . A = . . . . . S
. v . . . . 6 @ 3 . .
. . . A / S . 4 . . .
0 = . . . . . . . . .
. S . . . . . . . . .
```

22:44 3d7 49896

```text
. . . . . . . 10 . . . .
. > . > . > . * . > . .
^ . < A . . . . . . v .
. v . . . . . . 10 . . .
^ . > . > . > . % . + .
. . 0 = . v 10 . . . . .
^ . . . . . / . . 10 @ -1
0 > . + . . . > . . 10 .
. . < . . . . . v . . .
0 * A = . . . . . . . .
. . . . / . . . v . . .
. v . . S . . . . > . .
. S . . . . . . . 7 @ 10
. . . . . . . . . . 10 .
```

3d8 難しそうなのでいったん 9 をみる
難しいよ~撤退
24:14
6 changes: 5 additions & 1 deletion visualizer-3d/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ window.addEventListener("DOMContentLoaded", () => {
}

if (dts !== undefined) {
if (turn - dts >= 0) {
if (turn - dts - 1 >= 0) {
const [dt, darr] = GridTimeArr[turn - dts - 1];
next = Array.from({ length: h }, () => Array.from({ length: w }, () => "."));
for (let i = 0; i < h; i++) {
Expand Down Expand Up @@ -301,6 +301,10 @@ window.addEventListener("DOMContentLoaded", () => {

nextt = dt;
}
else {
err.textContent = `Invalid move at time ${turn}: Invalid dt`;
return;
}
}

GridTimeArr.push([nextt, next]);
Expand Down

0 comments on commit e8c4638

Please sign in to comment.