第56話

「うーん……」


 桃が、部屋の中をぐるぐると歩き回っている。


「どうしたの?」


 椅子に座ったまま、二海は声をかけた。


「何か……うまくいかない」


 さすがに疲れたようすで、桃が答えた。何しろそろそろ十時だ。


「どんなところ?」


 二海は桃のパソコンの横に椅子を持っていった。


「この……」


 桃がエディタを示した。


「今やってるのがPPCで、品物のリストが渡されるのね」

「うん」

「で、その品物それぞれには、重さと価格があるの。品物Aは10グラムで200円、Bは20グラムで10円、みたいに」

「うん」

「品物はいくつも選んでいいんだけど、重さの合計が決められた値以上になっちゃいけないの。その中で、いちばん価格の合計が多いような組み合わせを選ぶ、っていうのなんだけど……」


 二海は少し頭の中で考えてみた。高くても重すぎるとだめ、軽くても安すぎると条件を満たさない。


「けっこう難しそうな……」

「そのコード書いてるんだけど、何かうまく出ないでねー」


 二海はコードを覗き込んだ。Pythonだ。変数がいくつも使われ、複雑な関数や『あとでなおすかも』というコメントがあちこちに散乱している。


「もしよかったら、これ説明してくれない?」

「いいけど……」


 二海は、夏休みの活動でやっていた『共有』のことを思い出していた。話すと、自分の中で整理がつく。


「えっと、まずここで入力の値を取るでしょ」

「うん」

「で、組み合わせを入れておく配列を初期化する」


 二海と桃は二人でコードを読んでいった。時々意図のとれない箇所があり、「ここはどういう意味?」とたずねると、桃は少し考えてから返答した。ときおり返事が途中であやふやになることがある。


「あー。確かに、この比較はいらないんだなあ。重さの合計がオーバーしたら、もっと上のところで終了させてるもんね」

「だね」


 処理を書き換え、テストで動かし、うまく動かなかったところをもう一度書き直す。途中の変数の値を出力させて、どこから想定外の動作が始まったのか調べる。徐々に、コードが整ってきた。テストの入力を入れて手元で動かしてみると、ほしかった合計の組み合わせが出力された。


「おお!」


 二人は目を輝かせた。桃が問題ページを表示し、コードを入力している間、二海は時計を見た。もう、十一時を過ぎている。次の問題は難しいかもしれない。


「結果返ってくるのに少し時間かかるよ」


 桃は問題ページとは別タブで、ダッシュボードを表示した。KJCCを検索すると、百二十位のところだった。一位はすごい。もう全問解答している。


 二海と桃は、結果待ちの間部屋の様子を眺めていた。KJCC、桐ケ谷女子CTFクラブの、活動の様子。


「順位……あんまり、上ではないね」


 二海は言った。


「そうだね……うん。まあ、でも……」桃は椅子に深く腰掛けながら言った。「でも、私は、楽しかったな」


「よかった。私も」


 二海が言うと、桃はふっと笑みをこぼした。


「ありがと」

「ううん。私こそ……」

「いや、今ここにいるのは、二海ちゃんのおかげだから」


 そう言われると、二海は鼻の奥がつんとなった。しかし、


「あ」


 問題ページがリロードされ、赤い字ででかでかと『Failed』と表示された。


「だめだった!」

「えー、どこ? どこが悪かった?」

「もう時間無いけど、これだけは終わらそう!」

「そうしよ!」


 二人は、ばっとモニタにかぶりついた。セミの声がまたうるさく聞こえてきていたが、すぐにまったく気にならなくなった。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る