パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

コドゲ レベル45への旅

2024-08-17 | CodinGame

遠い遠すぎる旅がはじまる

 

 

2024/8/17開始

 

指定位置にインサート

インサートは後ろから入れないと位置がずれるのがしんどい

しかも改行とかインサート

なかなかの出だし

 

 

横に穴の空いたバスタブを満たす時間

1cmごとに流量計算して分数の積算

少数点問題は、ずれた時の検討が大変です

 

 

SQLのインサート文を除け

構文解析もしないといけない

次から次へと容赦ないEASY

 

分割内の%

いろいろなザイズの格子内のアスタリスク星人の人口率を求める

 

指定量まで注いだビール高さ

先日はまった問題

昨日は1mmごとに計算

高さ0.1mmごとにしてなんとか正解

 

UTC付きの時間をSwatch時間に変換

一日を1000分割するらしい

分数計算と切り上げ切り捨ての方法でなかなか正解にできなかった

UTFの変更も何度も計算して揃えた感じ

 

狂気からの逃亡

なんとなくタイトルで選択

これはバックスラッシュ地獄

なおかつ変更後の値はもとの文字列と連動させなくする工夫がいる

変換内容はここの表示の倍ぐらいあります

 

うまさが勝ったらどこまでも食べる

食べ物にはいいものとわるいものがあって一列に並んでいる

それをどこかの位置から順に食べ始めいいものの方が多ければどこまでも食べれる

最大いくつ食べれますか?

 

数を素数の足し算で分ける

その分け方の数を答えていく

 

8月18日

 

森を育てる

種から10年で木になる

木はひとマス隣に毎年種をまく

33年後の世界に一番木を増やすために最初どこかに一つ種をまき

33年後の木の数を答える

 

Lunar Lockout

ロボットABCDEとポッドXがある

それぞれは一方向に別の物体があるまで移動することができる

脱出できる場所は中央でそこにポッドXを持ってこれればOK

詰将棋のように最短手順を答える

 

まっすぐの海岸線に中継地点を配置していくつもの島に電波が届くようにする

中継地点の数は最短いくつですべての島に届きますか

中継地点は海岸線にしかおけない

二日目の夕暮れに二合目まで到達

 

ここから難関に阻まれ続ける

 

辞書クエスト

元文字列から入れ替えて作成される全文字列を辞書順にしたとき元の文字列は何番目か

文字列が長すぎるテストケースで時間が足りず

失敗

 

 

ロケットエンジンの平等な点火

行列をうまく制御して出力をなるべく揃えた時の最大と最小の差を答える

 

数値が合わないときの理由がよくわからず

失敗

 

 

数列から長い昇順を探す

数列が長すぎるテストケースで時間が足りず

失敗

 

 

文字列から指定した文字を全部含む連続した最短文字列の開始と終了位置

文字列が長すぎるテストケースで時間が足りず

失敗

 

カンガルーワードを探す

単語群の中にあるカンガルー語を探す

 

カンガルー語とは親の文字列から順番はそのままでいくつかアルファベットを抜き出したとき同じ意味の単語

なんとか成功

 

8/19 朝 3018は果てしなく遠い

 

 

DNAのような情報から文字列を作る

なんとかそこそこ進むが

文字列が長すぎるテストケースで原因を追う気にならず

失敗

 

 

4つの範囲内の数を合わせると3つは同じ

違うもの数と位置、同じものの数を答える

 

 

ウラムの螺旋をキャラクターで

螺旋を描くのはむずい

今回とんがったら曲がるで対応

 

 

タイル画を回転して敷き詰める

バックスラッシュはどこかでなんとかしないといけない気がする

 

文字列を重みで縦横回転

他の人のコメントで例の回転を見かけてなんとか調整おわる

最後縦横、各行列に10000回というのがあって途中でめげかけたけど

特に高速化処理なしでできる 

Pythonもたいがい速すぎる

 

 

暗号の時代を変える

文章からコードの時代を探し、それを次の時代のコードにする

最新なら最古へ回帰する

 

12行目までの辞書はChatGPT作成だったりする

 

問題はChatGPTに問題文丸投げにしたあと

さらにわかりにくいものは、こまかく自分の認識を書いてあっているか教えてもらっている

 

3合目になんとか到着

もう解く問題が欠乏気味で難易度がどんどん上がりそう

 

目次を作る

日本があるんですが、まず横浜!

アリック日進になんか夢を感じた記憶が残っている

 

DNAのマッチング

指定差異以内でもっともいい場所があったらそこを答える

最後のひとひねり対応が8行目のX

 

 

ストリートファイター

二人の戦いをアクションからシミュレートする

スペシャルの計算方法が個別に違うのでクラス作って対応

 

初代はどでかいボタンである

 

 

なんかよくわからない組み合わせ

シンボルを2つずつ使って

バイナリーの0 1を変換していく

問題を理解するのに苦労する

やっている内容は理解したけどさっぱり

 

 

遺伝子から父親を探す

子供の遺伝子を表す文字が母親と父親に存在している

 

 

距離と時間の変換

フォートナイトって2週間の事らしい

8月20日に2時間入った

レベル44になってから24問解いた あと36問でレベル45

 

 

猿痘の感染率を4割以下に抑え最大何人とキスできるか

翻訳したとき何を言っているのか一番わからなかった問題

 

作者はおそらくコドゲで一番パズルを解いている人で

そのプロフィールの解いた言語ごとの問題数にビビった

 

 

うさぎが人参を食べたあとの畑のまわりに壁いくつ必要ですか問題

 

MとN WとHかと思ったら HとWだったのに最後きれいにハマった

 

飛行機に乗客を後ろ窓側から乗せる問題

ややこしいのは窓側にいないと横の人に優先権がうつる仕様

 

ポリゴンの順番、時計回り 半時計回り

公式のようなものがあるらしい

 

その後、膨らましアルゴリズムを思いついたけど未実装

 

なんとなくまとめて山登りのようなものをイメージして始めたレベル挑戦

解ける問題がどんどん減っていき、もう問題一つ一つが踏破困難な山になっている

 

8月20日も終わろうとしていて1421XP

継続可能か不明

 

8月24日

ボーリングのスコア計算

作り方が試行錯誤で力業

 

 

4x4の中から文字を見つけるゲーム

開始位置はどこからでもよく縦横斜め移動して単語を作る

単語が他の人とかぶっていなければ単語の長さによってスコアが加算される

総合計が一番多い人が勝ち

 

フレンズの中でやっていたゲームらしい(昔、流行ったアメリカの番組)

(ザ・レンブランツのアイルビーゼアフォーユーを聞いたりしながら、答えを合わせるのに、ふた苦労ぐらいする

ゲームは一癖ないと単調だけど、プログラムで解く場合はその一癖対応が難しい

 

8月25日

 

家と工場とエンターティンメントを幸福度ギリギリで生産力を上げる

リンクボーナスを計算しないといけない

3の11乗は無理かなと思ったけどなんとかクリア

 

 

アリがランダムに歩き外に出るまでの平均ステップは

10万回挑戦してその平均

2回本番トライして成功

 

 

同じ数字の縦横繋がりをひとかたまりとして数字ごとの塊数は

現在夕方少し覚醒しているらしいのか、一発で成功してしまった(今回初めて)

一画面に入りそうだったので ; で縮めてます

 

 

5枚のカードの得点計算

ペアー

シーケンス

合計15

などの総得点を計算する

 

今回面倒なのはあらゆる組み合わせを得点にすること

10JQのシーケンスのマークは気にせずに例えば10が2枚あったら2倍

さらにJが2枚あったら2x2の組み合わせで4倍になる

8/26 0時

 

ちょくちょく問題に挑むが、

 

解けない日々が続く、時はあっという間に流れ

9/5

目標金額まで少ない枚数のコインで、高い順で答える

BFSは得意でない、グローバルつかっているし独自の幅検索の絞り方だけでは時間内に解けない問題が一つあり

時間で打ち切るという強引なスタイルでなんとかクリア

 

ハフマンで圧縮

頻度の高いものが二分木の上位に

枝の左右を0,1として到達位置までを圧縮コードとして

頻度の一覧からハフマンの圧縮コードを作成したとき何ビットに圧縮できるか

ChatGPT95%作成コード、ハフマンとかもChatGPTに教えてもらってなんとか、また理解する(そして忘れる)

 

9/6

 

テトリス直置き

最初の向きのまま左右の動かして置いた時

もっとも多くラインを消せる位置とそのライン数を答える

 

 

ダンベルを指定個数置く

ひと向きだけ置けるところから置き

最後ダンベルの横の数が一致して、真ん中の棒の数も一致すれば終わり

真ん中が足りなければつなげる箇所を探す

ダンベルをまったく新規で置かなければならない時は置ける箇所に置く

 

上記が作成手順そのまま、バックトラック必須だったらどうしようと悩みながら作成も不要でした

とうとうHARDの問題にも手を出し始めています あと22問 とおい...

 

数独系地獄開催

ここから数独系の問題をたくさん解いていくことになる

 

01で埋める 縦横列の0と1の数が同じで縦列と横列でそれぞれ同じ並び順が存在しない 0と1は2つまでしか並ばない

実はここまでも16数独とか25数独とかやってわりかし粉砕されている

 

 

9/7

 

数独にさらに独自枠を設定して、そもそもの数字がない版

一番簡単な問題で左下の数字を設定するので精一杯

これを作成してから少しルール把握しましたが...無理

 

 

迷路探索の新しいアルゴリズムの下準備

まったくピンとこなかったので無理

仕様が難しいとChatGPTさんの説明も怪しい気がする

 

 

ワインの箱詰め

アルファベット入れ替えたパターンでのマッチング

オーダーの酒と箱がnこずつならんでいる

長さがあって、文字の種類が同じで、各文字変換を辞書にいれて齟齬がないものを選んでいく

 

クーポン券でピタリ買いましょう 同じものは3個まで

購入できる商品の全組み合わせの数は?

これも数独とかとおなじようなトラッキングで解いてます

 

円の重なったところの面積

80%ChatGPT作

 

6年前からの■ ブルガリアンソリティア

に0の概念を足しているのでややこしく

6年前に一テストケース消化できなかったもの

なるほどオリジナルに一概念でややこしくされたケースもあるのか

 

各山から一枚ずつ取って右に山を増やすを繰り返していって、

過去のパターンと同じ高さの山の数が揃ったら繰り返しまでの数を答える

過去のプログラムちょっとよくわからないので作り直し

 

5年前からの■ 数独

5年前

これも作り直し

 

16x16の数独

先程の数独に少し加速する仕組みを組み込んでクリア

 

 

25x25の数独

数週間前から断念中のものに再チャレンジ

高速化さらに2つぐらい入れてみましたが断念

 

 

あるのかないのか

ABCD足してX

A+E,B-E,C*E.D/Eが同じ Xだけ与えられ条件を満たすABCDEはあるのかないのか

ない時をX Ⅰ〜2000で調べ、奇数は別の3以上の奇数の二乗で割り切れるものがなければないという条件を入れてループを減らしてなんとかクリア

 

9/8

ローマ数字にした時のソート順は?

ローマ数字の作り方はChatGPT作です

 

残り13問

 

 

文字の出現頻度からアルファベットのずらし数を答える

アルファベットずらしの暗号を各英字の出現頻度から推定する

全パターンずらしを作成して出現頻度上位5つと現状との差を取って最短のものを答えてなんとか

 

 

チーム分けのパターン

例 サッカーとかだと2チーム、各チーム11人、30人で遊ぶ時のチームの組み合わせを全部表示

 

人を頭文字一つにするため同じ頭文字が並ぶとパターンが同じかどうかの判定がややこしい

 

 

2つの置換

よくわかっていない

 

 

三角形の種類判定

英語の単数形につける a 単語の先頭が母音だと an にするのがめんどかった

 

 

複数回の置換の簡略化

ループしている置換をいくつか繰り返すものは

別のループする置換いくつかに簡略化できる

よくわかってないけど解く

 

自然数の分割総数

さっぱりわかってない

 

 

長過ぎるマスターマインド

数時間費やして、数学的ひらめきがないと解けない問題は、マインドを削りにくる

どんまい11桁 解けん

 

 

カエル三匹交わるか

3匹は指定座標からそれぞれ上下左右にそれぞれ指定の長さを飛ぶ

「3匹は重なることができるか」(声 永井一郎風)

最大公約数をうまく使うそうだけど200000の集合の力技で対応

 

 

カエル何回飛べるか

縦横斜めと縦横3飛びで#の蓮の葉の上を

 

 

暗号

アルファベット2文字ごとに 5x5のアルファベットの表を用いて変換していきます

表で横並び、縦並びで表でずらし、それ以外は表の対角にするようです

 

 

LCGで配列つくって、何回置き換えるか

配列の数が多すぎてマージソートを使わないとだめらしい

撤収

 

集合を作って演算

構文解析はあんまり作らないからいつもはまる

最後の最後で失敗

この問題だとorとandの優先順がPythonと違うらしいのでカッコ追加

Submitのケースでも失敗して投稿時のものから解析してなんとか

 

あと3問

 

 

ルービック6面いけるか

ただし回さなくて分解してパーツがあっているかの判断でいいらしい

まず簡単なところから色の数

次に辺の色の組み合わせの数

最後に頂点の色の組み合わせの数(頂点の先からみて時計回り)

 

自信まったくなかったけどデバック表示多様してなんとか(9/11 1:48)

 

 

色合わせ

正方形と円の範囲内の座標の時、色をマージ

全く無ければ白、線上ならば黒

 

グラフのy軸とコンピュータでよくつかうy軸の向きが逆なことにかなり惑わされた(9/11 3:30)

 

 

賞金王が連日コンテストに参加

ただしr日連投したら一日は休み必須、もっとも賞金を取るとしたら

 

3年前に挑んでいるけたど失敗しているらしい全部作り直す

6問目までとける ソースGPTさんに丸投げして高速化お願いするとlrc_cacheを使って

あとテストケース一つになるが失敗

こういうケース本当に多い 泣く(9/11 4:16)

 

 

車のナンバー使って10作る の6桁指定番号型

 

6桁の数列に順いろいろで四則演算していき指定番号にできるか?(全部使わなくてもいい)

できれば最も少ない計算回数を、できなければ最も近づく数字との差を答える

 

順にならべて四則演算これなら簡単!と挑むも計算が合わない

( )のようなをもの使って足し算を優先しているテストケースがあり

 

一度全部作り直すと今度は時間が足りなくなる

先程の高速化でなんとか lrc_cacheを使おうとするが、関数に引数にリストは使えない..

そこでタプルに変換してクリア(9/11 6:53)

ついに完遂

 

さあ、後は下山…

次の登山3しておきました

 

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。