点Nの軌跡

競プロの話または日記

編入したらたった2週間で過去最強のバッドステータスをくらって動けなくなった件

想定外なんよ。

ごあいさつ

2021年4月に筑波大学情報学群情報科学類3年に編入しました。どうも点Nです。当記事では大学に入ってからの大まかな流れと、僕に何が起こったのかという話の2本立てでお届けいたします。早く倒れてほしい方は上の目次からジャンプしてください。

編入後の話

入学式

4月5日。ことしは対面で行われました。去年はそうではなかったらしいです。急ぐ必要はないと思っていたのでゆっくり(それでも結構早く行ったとは思うのですが)会場に行ったらみんな思ったより早く来ていて本会場に入れませんでした。別会場で本会場の映像を見ていました。基本的に周囲はこの前まで高校生だった人ばかりなので、だいぶお行儀がよかったです。

お昼

オリエンテーションが午後から予定されていたのですが、開始までにだいぶ時間があったので学内をうろうろしました。Twitterを頼りに情報科学類の編入生と出会い、一緒にお昼ご飯を食べに行きました。粉クリのパスタを食べました。

オリエンテーション

大量の配布物(めちゃ分厚い本があってとても重い)を受けとり、各種書類を記入し、ざっくりと大学の説明を聞き、単位認定書類の作業をします。この単位認定が一番の山です。シラバスを提出するだけでいいみたいな学類もあるという噂を耳にしたのですが、情報科学類ではどの単位をどの単位に読みかえるのかという書類をきちんと書かなければなりません。これが実質春休みの宿題で、オリエンテーション当日に下書きを持参という形になっているのですが、正直いって元高専生には訳が分からんのでここで情報共有しながら修正することになります。まれにほぼ白紙で来る人もいますがやめたほうがいいと思います。あと、気のせいかもしれませんが、互換できる単位のうち卒業要件に使えるものの数が数年前より少なくなっているような気がします。帰ってからも各種アカウントなどの設定作業があります。

履修登録

すぐに始まる授業についてはすぐに履修登録しなければならないので、すぐに履修登録をします。単位認定の結果はこのタイミングでは返ってきません。開設科目と履修要項を眺めながら時間割を埋めていきます。なんかすごいたくさん埋めてしまったので心配になったのですが、まわりの編入生たちも結構詰め込んでいる感じでした。大学生の時間割ってもっと余裕があるイメージだったんですが、違うのかもしれません。ちなみに、ネットニュースでも話題になりましたが、授業のデータベースがこの大事な時期にメンテナンスをしやがったため、かなりめんどくさかったです。代替サービスつくった新入生すごい。あと普通に履修登録用のサイトも混み合っててなかなか入れなかったりしました。

nlab.itmedia.co.jp

授業開始

しれっと始まります。今年も授業は基本オンラインです。対面なのは体育ぐらいです。時間通りに受けなければならないものも、そうでもないものもあります。難しい授業も多いです。

動けなくなった件

お待ちかねの本編です。

4/12(月)

こどふぉのコンテストがありました。終了後、なんとなく体調が崩れかけている気がしました。遅いので寝ました。

4/13(火)

1,2限はそこまで体調が悪くもなかったのですが、3,4限で少し熱っぽさを感じました。僕はこの時間プログラミングチャレンジという競プロをする授業をとっているのですが、体調が悪化しているのを感じつつもどうにかその課題をこなしました。終わってからめっちゃ寝ました。

4/14(水)

右腹部に強い痛みがありました。明らかにおかしいと感じましたが、腹痛を抱えながらもある程度動くことはできたのでいったん様子を見ることにして寝ました。実験が始まっておらず、授業が少なかったのでよかったです。

4/15(木)

起きたら痛みが激しくなっていました。まともに動けないレベルで痛かったです。手元の体温計で38度台前半を記録していました。あと尿の色が濃い感じがしました。この日は情報科学類3年生の学内健康診断があったのですが、不健康すぎるので断念しました。さすがにこのままでは死んでしまいそうなので病院に行くことにしました(健康診断のせいで学内の保健センターは開いてないし、この体温では受け入れてもらえない)。熱があるのでとりあえず病院に電話をして状況を説明し、来てもよいという判断が下ったので行くことにしました。が、激しい腹痛のせいで立つのもやっとだし、歩くたびに痛いし、初めての土地と発熱した頭のせいで少し迷ったのでかなりの時間がかかりました。苦行以外の何物でもありません。どうにか病院にたどり着き、診察してもらえることになりました。事情を説明し、とりあえず触診。真っ先に疑われるのは盲腸ですがそれはない(場所が違う)、背中側から叩いても痛い等の状況から、腎臓や尿路といったあたりの問題の可能性があるとのことでした。ところで触診のときってズボンとかを足の付け根ぐらいまで下げることになるんですけど、若い看護師さんにこれをされるのはあまり気持ちのよいものではないですね。向こうは仕事で慣れているのかもしれませんが僕は慣れてません。その後、尿検査と採血をしました。僕は抜かれる血をあまり直視できないタイプです。尿潜血や血中の白血球の増加から、やはり尿路感染症とか、もしかすると尿路結石とか、その辺であろうという感じの話を聞いた気がします。あまり覚えてないけど。おそらく世間を騒がせている例の感染症ではないだろうとのことでした。薬を出してもらって、何でもいいのでとにかく水を飲むように言われました。帰りも歩いたら本当に倒れそうだったのでタクシーで帰りました。

その後

薬はすぐに効くものではないのでその後数日は痛みとともに生活しなければなりませんでした。お風呂は入らないにしても、トイレや食事はしなければならないので一苦労でした。痛いので、笑うことも、くしゃみをすることもできませんでした。痛みはだんだん減っていき、週明けにはわりと歩けるようになりました。薬を飲み終わっても若干痛かったので念のためもう一度病院に行きましたが、あらためて薬を出す必要はないとのことでした。学内の健康診断には後日行きました。

おわりに

毎年5月の連休明けぐらいに体調を崩すので、最初はいつものそれが少し早く来ただけかと思いましたが、なんか大変なことになってしまいました。しっかり水を飲もうと思います。

点Nと自動車学校

途中まで書いて、多くの人が経験する話なので不要なところは大きくカットしたほうがいいということに気付いた。

入校以前

はじめに

運転免許。それは現代社会を生きる我々日本人にとって最も身近な国家資格である(点N調べ)。交通網の発達した都市部の住民にとってはどうだか知らないが、少なくとも自分の住んでいるような場所では持っておいて損はない。本当は3年生の春に取っておけばよかったものを、基本情報技術者試験の勉強だのなんだので流し去り、そのまま月日が流れて5年生の10月。未だ落ち着かない新型感染症のせいで必要以上に長く続いた受験シーズンも終わり、ちょっとだけ落ち着いてきた時期。自分もなんだかんだでそろそろ免許をとるべき年齢だし、さすがに車の免許は欲しい。しかたなく重い腰を上げ、動き始めた。

戦略

免許センターで適正試験・技能試験・学科試験を受けるのが正規ルートだが、普通は自動車学校を経由する。とくに指定自動車教習所、いわゆる公認の自動車学校を卒業すれば技能試験をパスでき、こちらが王道ルートになる。あと、合宿は絶対に性に合わない。

AT/MT問題

最初で最後、そして最大の選択である。最初で最後なら最大なのは明らかだけど、ちゃんと大きい選択。

  • MTのほうが料金が高く、教習時間が長い。
  • 運転操作がぜ~んぜん違っていて、MTのほうが難しい。
  • ATだと、MT車を運転できない(免許に条件がつく。逆は成立しない)。
  • 現在日本の道路を走る車はほぼAT車のため、基本的にわざわざMTを選択する意味は薄い。
  • しかし、就職先でMT車しかない場合に備えてMTを選択する学生は多いと聞く。
  • が、実際その選択がどれぐらい活きるのかは定かでない。
  • AT/MTの選択ができるようになったのは最近であり、親の世代はMT車の経験者であることも多い。そのため親に相談するとMTにしておけというアドバイスを受けることも珍しくない。

迷ったけど、MT。大は小を兼ねる。

入校

自動車学校に行って受付の係員に申し出る。手続きをその日のうちに済ませたかったので、事前に必要な書類やお金を調べて持参した。一般のご家庭に常備していない書類(住民票など)が要求されたりする。割引サービスもいくつか利用した。書類を書いて、説明を受けて終わり。写真撮影があったかもしれない。担当教官も決められるのだが、このときに誰々はやめてほしい、というような注文を聞いてもらえる。とはいっても、初見だとまずどうにも答えられないのでここは基本的にスルー。担当教官との相性は運である。僕の担当は40代ぐらいの女性だった(といっても、実際に会うまでには結構間隔があいた)。

タイミングを忘れてしまったのだが、手続き時か入校時か、どこかで身体面の検査があった。項目は以下。

  • 視力が片目で0.3以上、両目で0.7以上(鬼門)。
  • 四肢が自由に動かせる。
  • 音が聞こえる。
  • 信号の色が判別できる。

目が悪いので視力検査は緊張した。事前にメガネ店で視力検査を受け、度をあげなくてもよかろうという判断をもらっていたので普通に大丈夫だった。

手続きが終わったら、いつの入校式に来てくださいねという感じで帰された。秋なので本来は人が少ない時期なのだが、新型感染症のせいで春や夏の教習生が秋にずれ込んでしまい、かなり忙しくなっているという話を聞いた。

適性検査

K型とかOD式というやつが一般的だが、OD式のほうだった。注意力と判断力が大事そうな筆記テストで、後半が心理テスト。前者は単調な作業。自分が得意なタイプのやつだったので、わりとサクサク進む。なんかうまいことできてはいるのだろうが、これと運転能力にどれほどの相関があるのかは今もあまりわからない。後者は本当に心理テストなのだが、わりとあからさまな内容が結構ある。全部「いいほう」を答えるのも、それはそれでだいぶ危険な気がする(そんな聖人はいないと思っているため)。結果って公表していいものなのだろうか。12時の方向。

第一段階

仮免許取得までをさす。修了検定に合格すれば第二段階に進むことができる。

学科教習

教室で、車を運転するときのルールを学ぶ。この日のこの時間はこの単元、というように割り振ってあり、全部の授業に出なければならないので、狙っていたコマに技能教習を入れてしまうと面倒なことになる。中心となる内容は道路の走り方で、その他免許制度についても学ぶ。

教室に入ると、たいてい後ろのほうが埋まっている。アクリル板越しに教室を見渡すと、高専とかいう偏った環境の学校にいたせいか普段見かけないタイプの人間ばかりの印象。男女比はおおむね1:1。

授業の流れはだいたい一緒で、教官の話を聞きながら教本を読んで、ビデオを見る。教官にもよるが、当てられて発言する必要があることもあった。やめてくれ。教本には嘘やろみたいな本当のことも書かれていたりする。現実世界には駐車場などに入るため歩道に進入するときに必ず一時停止している車はいないし、踏切でいちいち窓を開けている車もいない。あと、ビデオは同じ映像をやたら使いまわす(大事なことなので何回も言ってくれているのだ)。

学科教習の仕上げ的な存在として、効果測定というテストがある。○×形式で、45/50問以上をめざす。半分ぐらいは常識というか道徳というかで問題なく解けるのだが、それでも普通に難しく、全部安全側に倒すのもまた違ったりする。案外一時停止しなくてよかったりするし、徐行義務が生じなかったりする。ちなみに最近は便利になったもので、対策にはeラーニングシステムが有効である。長い間世話になった。

技能教習

最初はシミュレーターでの模擬走行で、ペダルの役割とか、ハンドルの回し方とか、そういった超基本を学ぶ。機械音声がハンドルを親の仇のように回させてきたので、全然ついていけなかった。シミュレーターが終わったら、次の時間から実際の車を運転する。文章だとしれっと運転しちゃっているが、1回目は普通にめちゃくちゃ緊張する。感染症対策のため、乗車の際には毎回同乗する教官が除菌シートをくれる。

MT車の場合、アクセルとブレーキのほか、左足で操作するクラッチペダルがある。これと手元のギアをいい感じに操作しなければならず、下手なことをするとすぐにエンストして止まってしまうので、発進するだけでも最初は一苦労だった。加減速を習得し、大きく外周できるようになったら、場内のコース上にある交差点、信号、障害物、S字カーブ、クランク、それから坂やら踏切やらを順番に走れるようにしていく。MTだと坂道発進がどうとか言うけど、S字のほうが難しいし、なんなら右左折が一番の山。操作が忙しすぎる。何回か補習も受けた。ちなみに教官はあまり多くを語らないタイプだった。個人的にはもうちょっと指示厨してくれても良かったけど。

教官はたまに違う人になる。若くて一部の教習生にモテてそうな兄ちゃんとか、何やっても優しい人とか、だるそうなおっさんのときもあった。ため息つくのはやめてくれと思うのだけど、実際のところ一番メンタルにくるのは最後のアドバイスに必要以上のポジティブさと期待してるよの気持ちを乗せてくるタイプの人だったりする。

技能教習の最後にはみきわめというのがあって、教官が検定へのGOサインを出すか出さないかの判断を下す回になる。教習所にもよるだろうが、自分的にはまだまだ不安があっても結構GOだったりした。

修了検定

技能試験、学科試験、適性試験を受ける。がっつり一日仕事。ちなみにもう年末。

技能

指定のコースを走り、まずいところがあるとその都度まずさに応じて減点される。持ち点100を70残して走り終えれば合格。なにをもって「まずい」とされるのかは決まっているし、どれぐらいまずいのかも検索すれば出てくるが、見ると自信がだいぶなくなる。コースは当日に発表される。前の受験者の受験時に不正防止目的で後部座席に乗るのだが、この時に不正うんぬんそっちのけでコースの下見。ちなみにコースを間違えると軌道修正中の減点リスクが高まるので間違えないほうがいい。

MTの受験者はATよりちょっと少ないぐらいで、でも思ったより多い。むしろ男はMTのほうが多い。自分は最後から2番目。検定特有の緊張感のせいか、前の人はハンドブレーキをおろさずに発進しようとしていた。

自分の番。前の人を見てハンドブレーキやギアの確認には気を付けた。途中、検定特有の緊張感のせいか、なんでもないところで左足がガクガクして車も一緒にガクガクした。あと、検定特有の緊張感のせいか、左折なのに左からくる他の教習車(当然と言えば当然だが、検定中も他の車は普通に走っている)をしきりに気にしていた(左折時の走行ラインと左からくる車の走行ラインは交わらない)。

次の人で最後なので自分がもう一度後部座席に乗った。なんとなく自分と似た雰囲気を感じる人だった。坂道でちょっとだけ手こずったようだったが、総合的に見て自分よりうまかったように思う。終わった途端にこの態度、いったい何様なのか。終わった後で検定員から簡単なアドバイスがあったのだが、自分と最後の人、2人まとめてビビりすぎで加速が弱いというお言葉を頂いた。はい。

合格発表までは時間が有り余るので不安な時間を過ごした。受かった時のために教本を読んでみた。しばらくして結果が掲示された。点数は不明だが、なんとか合格していた。半分ぐらい落ちていたかもしれない。前の人は落ちて、次の人は受かっていた。

学科

効果測定とほぼ一緒。大量に落ちることはないが、数名は落ちる。とくに言うことは無い。

適性

もっと言うことがない。昼飯を食いそびれた。

第二段階

年が明け、教習所の外へ。卒業検定に合格すれば卒業。

学科教習

安全のための知識の割合が多い印象。めんどいのは駐停車。他は積載やけん引など、微妙な内容が多い。応急救護もやる。以前に人工呼吸は無理にしなくてよくなったというのは聞いていたが、どうやらこのご時世なのでマジでやらないでいいとなったらしい(詳しいことは厚労省のサイトなどをあたってほしい)。このごろから自動車学校は書き入れ時を迎え、教室内の人数はどんどん多くなっていった。効果測定の合格ラインは90/100。配点の高いイラスト問題で稼げるので前回よりも楽な印象。

技能教習

教官のチュートリアルなしに路上に急に放り出されるので最初の3時間は怖い。徐々に慣れてくるし、外の道路は走りやすいようにできている。

いつのことだかは忘れたが、ある日の教習の後、教官に自分のことが嫌いなのかと聞かれたことがある。指示には従っているが反応がないことが多いらしく、教官も人間なので返事がないと不安になるらしい。正直ぜんぜん自覚がない(全部返してるつもり)のでさすがに戸惑った。それもそれで問題なので気を付けますとだけ言って終わったが、さすがにいろいろ不安になった。

いろいろな教官と当たった(上のこともあるし、そこに悪い意味がないことを願う)が、やはり学校関係の話をすることは多い。よほど相性がいいときは別だが、基本的に高専生には不利である。高専とか進学先の話をしたときに頭いいみたいに思われたりすることもあるけど実際そういうのってあまり嬉しくなくて、高専だって面接だけで入ったようなものだし、大学は国立だけどしかし編入(正面突破よりも難易度が低いといわれているし、そうだと思う)だしみたいな評価の難しいあれだし。その辺がめちゃくちゃ難しい。正規ルートを外れた者の苦しみか。

技能教習の中でも特別なものがいくつかあるが、その代表が高速教習である。ほかの教習生(明るい女の人だった)と交代で運転するのだが、教官なんかいつもと対応全然違いませんでした?サービスエリアで飲み物買ってくれたのはうれしいけどさ。

学校の試験明け、なぜか知らないが急に時間割が変更になり、急遽予約をキャンセルした。そのせいでしばらく期間があき、春休みに入った。久々の教習に行ったところ、なんか教官の機嫌が悪かった(気がする)。忙しい時期だし卒検の予定日とか決めたあとで教習をキャンセルしたのは悪かったけど、文句があるなら学校に言ってくれ(卒検前だから普段以上に真面目にやってただけかもしれない)。

冒頭、徐々に慣れてくるとはいったが、慣れとは恐ろしいものである。卒検も近づいたある日の(というか前日の)教習所への帰り道。光の加減か、左折時に奥からやってきた横断者に僕も教官も気づかなかった。横断しはじめでじゅうぶんに距離があったので何事もなかったが、卒検でやったら一発アウトだし、そうでなくても危ないし。こわ。

卒業検定

修了検定とは違い、技能のみ(それ以外は免許センターでやるので当然だが、気付かなかった)。路上試験と場内試験の2パート。自分はトップバッターだった。なんて日だ。

インターネット上では、路上においては安全運転を心がけ、いつも通りに走り、一発アウトを引きさえしなければどうにかなる、そういう意見が見られる。実際、修了検定のようなややこしい道ではないのである程度正しいのだが、こういう日に限ってイレギュラーが発生したりするもの。これまたネットにあるような大イレギュラーはなかったが、たとえば

  • なんか作業してて反対車線が埋まっている
  • 隣に大型トラックがくるし、しかも前に入ってくる
  • いつもは人がいない信号なし横断歩道に横断者がいる
  • しかもその横断歩道の手前がのぼり坂になっており坂道発進を求められる

ぐらいのことはあった。とくに横断歩道まわりは怖かった。

帰りは次の受験者の受験コース。発車時に運転席のシートベルトが半挿しになっていたらしく一瞬ヒヤッとしたが、それ以外は問題なかったように見えたので合格の可能性はじゅうぶんありそうだなと思った。終わった途端この余裕、いったい何様なのか。

場内試験は左方向転換だった。これでもかというぐらい慎重にやった。現実世界だとちょっと迷惑かもしれない。

合格発表まではだいぶ暇だった。暇すぎておかしくなるかと思ったが、意外と大丈夫だった。途中、同時開催された修了検定の合格発表があった。自分の担当教官が落ちた子に励ましの言葉と共にお菓子か何かをあげていた。そういうことするタイプの人だったんだ。僕のときなんにも言われなかったけど(受かったからで説明がつくだろうか)。

トップバッターなので相当待ったが、昼には結果が出た。ちゃんと合格していた。よく見ると、MTの受験者は全員合格していた。しかもATの受験者は半分しか合格していなかった。何があったのだろうか。

卒業

卒業式の場所がわからなくて遅刻しそうになった。そのへんにいたスタッフに聞いたら場所を教えてくれて、急げといわれた。免許センターに持っていく書類を書いて、はじめて見る偉い人からの重要で退屈なお話を聞いて解散。結局教官と話すことは一度もなく、そのまま帰宅。わざわざ待つほどのことでもないし、どうもあんまり好かれてない感じだったし、まあそれでいいや。

免許センター

免許センター、車がないと行けないような場所にありがち。早起きして頑張っていった。登校中の小学生を眺めていた。足が寒そう。到着すると、予想していたよりも人が多い。窓口でお金を払ってから(ここまではうまくいった)別の窓口に書類を出すのだが、質問票を書き忘れたので一度弾かれ並び直し。係員の作業を見ながらリアルPapers,Pleaseだなぁと思った(この頃VTuberの間でなんか流行っていた)。書類を出したらすぐさま試験会場へ流された。

試験の内容はいちいち覚えてないが、微妙な問題が多くて少し難しかったように感じた。終了後すぐにマークシートが機械に通され、モニターに合格者の番号が掲示される。合格率は90%ぐらいに見えた。大きな声をあげ手を叩いて喜んでいる学生さんがいた。そんなに人生かかった試験でもないと思うのだが。

だいぶ長い休憩をはさんで写真撮影やら適性検査を済ませ、偉い人の話を聞いて免許証をもらう。順番は最後から3番目だった。ハンバーガーを食べて帰った。

おわりに

半年近くかかってしまった。思ったより長くなったが、卒業前に終わらせることができて安心。

体感として、教習の時間はあまりにも短すぎる。これで公道でていいですよ、怖すぎません?

給食じゃんけんの思い出

学校給食。それはいつの時代も変わらない、学校生活における数少ない楽しみのひとつ。プリンやゼリー、ケーキといった個包装のデザートが出る日はなおさらである。しかし、こういう日に限って欠席しているやつが1人はいるもの。欠席者がいればその人数分余ってしまう。この余ったデザートは希望者の手に渡る*1のだが、希望者多数の場合はなんらかの方法によって獲得権を奪い合わなければならない。最も一般的なのは明確かつ公平な手段であるじゃんけんであろう。これがタイトルにある「給食じゃんけん」であり、退屈な毎日を生きる小学生にとっては絶対に負けられない戦いである*2

 

話は変わるが、多くの小学校には特別支援学級*3が設置されている。知的障害を抱えているとか、身体に障害があるとか、とにかく通常の学級で生活することが難しい何らかの事情をもつ児童が勉強する場所である。僕が通っていた学校にも設置されており、同じ学年にここで生活している子(以下Aくん)がいた。当時の僕が見て判断した限り、なんらかの発達障害があった(小学生なので本当のところは知らないし、小学生にとってそんなことはどうでもいい)同じ教室で勉強することは少なかったが、給食の時間には教室にAくんもやってきてみんなと同じ場所で給食を食べていた。

 

もう10年ほど前の話なのでその日のことは詳しく覚えていないのだが、とにかく給食じゃんけんが開催された。僕は給食じゃんけんにはあまり参加しなかったのだが、その日は気まぐれで参加した。Aくんもあまり参加していた記憶がないのだが、その日は参加していた。全体の参加者はそこまで多くなかった。そのため、スタンダードに全員によるじゃんけんで勝者を決めることになった*4。ここで、僕はあることを思い出した。Aくんは、パーしか出さないのである。となれば、考えられる戦略はひとつしかない。チョキを出し続けるのだ。そうすればAくんが生き残っている限り自分は負けることはなく*5、その間に人を減らして勝つ可能性を上げることができる。ちなみに、この戦略には以下のような欠点がある。

  • 大前提として、Aくんがいなければ使えない。(クリア)
  • Aくんに関する事実の知名度が高く、皆がこれを利用した場合、効果が期待できない。
  • グーを出す者がいる限りあいこになって勝負が長引くため、その間に気付かれれば効果が薄れる。あと心象も悪い。
  • 上のようなことがなくとも、たまたまAくんが早々に敗退した場合、残りは自分の運に託すしかない。
  • そんなことをして、心が痛みませんか?

しかし給食じゃんけんは非情なものである。勝者がすべてを手に入れ、敗者は何も得られない。あまりこういう場面に強くない僕が勝ちを手に入れる、またとないチャンス。不安要素は大きいが、試す価値はじゅうぶんにある。僕はじゃんけん開始からチョキだけを出し続けた。余ったデザートが多かったとか、そういう特別な条件があったかもしれないが、とにかくデザートは僕の手に渡った。自分でもびっくりするぐらいうまくいった。参加者の誰かは気付いていたかもしれないが、特に後から何かを言われた記憶もない。

 

あの日僕はどうするべきだったのだろうか。正直なところ、反省のしようがない。少なくとも僕がじゃんけんのルールに違反していないのは事実であり、デザートは僕が正当な手段で手に入れたものである。特別支援学級のAくんが同じ手しか出さないと分かっていながら、それを利用して勝つのはフェアではなかったかもしれない。しかし、わざわざ負けるような手を混ぜて出すべきだったとは思わないし、それもまたフェアではない気がする。というか、そもそもあの場面においてはじゃんけん自体がフェアではなかったのだ。最初に書いた通り、じゃんけんはきわめて明確で公平な手段である。しかし、それはAくんのような人間がいない場合に限られる。あの日の給食じゃんけんのような場面で公平をめざすのであれば、くじ引きとか、あみだくじ*6 とか、そういうもののほうがまだマシである。

 

思ったより若干重くて長い話になってしまった。綺麗にまとめたいのだが思いつかないのでこれで終わり。

*1:現在は衛生上の観点から近所の児童が欠席者の自宅に届けるという方法で処理するケースは多くないと思われる

*2:賢明な読者諸君はすでに知っていたかもしれない

*3:なかよし学級とかひまわり学級とか呼ばれることも多く、そちらのほうが伝わりやすいかもしれない

*4:複数人でもルールそのままに行えるのがじゃんけんの強みであるが、あいこの確率が上がって時間がかかることが予想されるため、参加者があまりにも多い場合は何らかの工夫が必要である。たとえば、その場でトーナメントを行うか、教員との同時複数対戦で連勝数を競うなどの方法がある

*5:証明は簡単なので読者諸君への課題とする

*6:ただ、あみだくじはうまくやらないと非常に不公平になる

2021/1/9、10に開催されたコンテストの感想

AtCoder Regular Contest 111

A

10N/Mの切り捨て mod M

  • 10N/M=Mt+x
  • 10N=MMt+Mx+α
  • x=10N mod MM / M
  • M進数の下から2桁目という表現をすることができるらしい、天才かよ

B

2つの数から1つ選ぶことをN回やる、選んだ数の種類数の最大はいくらにできるか

  • どっかで見たことあるぞ
  • 何かでソートすればいいというような単純な問題ではない
  • ユニークなものは絶対に採用
  • 突然ですが、2数をその番号の頂点を結ぶ辺とするグラフに置き換える
  • 次数が少ない頂点から採用し、そこから生えている適当な辺をひとつ切ることを繰り返す
  • chokudai speedrunかぁ

C

N人いて、それぞれ誰かの荷物を持っている。荷物と持ち主が一致するように交換していきたい。最適な交換順を示せ。ただし各人で渡せる重さに制限がある

  • コンテスト後AC
  • 自分のじゃないのを持っていて、重さオーバーなら無理
  • それ以外多分いけそう
  • もう自分のを持っている人は退場
  • いちばん重いのを持っている人が、持っている荷物の持ち主と交換
  • 実装頭壊れた setをつかう

AtCoder Beginner Contest 188

A

3ポイントシュートで逆転できますか?

  • 負けてるほう+3>勝ってるほう

B

Σaibi=0ですか?

  • やればいい、最初オーバーフローすると思っちゃった

C

2N人でトーナメント戦。準優勝は誰?

  • やればいい
  • 2Nの入力ってどうやるっけ
  • rep(i,1<<N)だわ
  • 優勝と反対ブロックの勝者という解のほうがスマートだけどシミュレーションした、そしたらバグってつらい(不等号ミス)

D

料金の異なるいろんなサービスを受ける。それぞれの開始日、終了日を決めた。毎日の料金はその日受けるサービスの料金の総和だが、自由に使える定額プランもある。最安いくらか

  • 日数多い
  • ええい座圧じゃmapに叩き込め
  • imos
  • min(定額、通常の料金)*日数、の総和

E

DAGな町がある。金を買って、別の町で売る。利益は最大いくらか

  • DPをする
  • 各町において、利益=売値-それ以前に訪れる町の中で最安の買値

F

±1と2倍の操作ができる。XをYにするには何手かかるか

  • なんか見たことある
  • X=Yは自明に0
  • Xのほうがでかいなら引くしかない、以下それ以外
  • YをXにする方向で考える
  • 2で割るのは偶数の時にしかできない
  • 加減は奇数の時しかしなくていい
  • という感じで再帰関数
  • 数が小さいところは注意
  • バグった。コンテスト後に解説見た
  • AGCででた問題じゃん

2021/1/2に開催されたコンテストの感想

あけおめ

AtCoder Beginner Contest 187

A

3桁の2数の桁和のうち大きいほうを出力せよ 等しければ前者のものを出力せよ

  • 出力制約として書いてあったけど後ろ部分は完全に無意味
  • ans += X mod 10, X /= 10を繰り返して桁和が出る
  • max(digitsum(A), digitsum(B))

B

N点のうち傾きが-1以上1以下のペアはいくつあるか

  • 制約的に全部の組み合わせを試していい
  • 各座標の差dxとdyの絶対値を比較してdx>=dyならok

C

N個の文字列のうち'!'をつけてもつけなくても自分含むどれかと一致する文字列があれば1つ出力せよ

  • !始まりとそうでないのに分ける
  • setに入れる
  • !グループにもそうでないグループにもあるのがあったら吐く

D

各町の青木派と高橋派の人数が与えられる。演説に行った町の民は全員高橋に、そうでない町の民は青木派のみが青木に投票し、高橋派は何もしない。高橋が過半数の票を得るにはいくつの町に演説に行けばよいか

  • 演説に行かない場合から考える
  • 行くと高橋-青木は2高橋+青木票増える
  • これが大きい順に訪れるのが最適で、この順にsortして試す

E

木がある。辺を指定し、片方の頂点から他方の頂点を経由せずたどり着ける頂点全部にxを足すクエリを処理し、最後に各頂点について足された数の和を答えよ

  • 解けなかった。みんな解いてた。
  • 根付き木としてみてよくて、最後にbfsかなんかして累積和を取る方針が強そう
  • LCAをみて、経由したくない点が深い位置にあるときは根に+xして経由したくない点に-x
  • 経由したくない点が浅い位置にあるときがわからなかった。そもそも辺指定を忘れて2頂点だと思ってた(誤読。きつそう)
  • 根から-xして経由する点から+xして最後全体に+x…は違う
  • +xする頂点をずらしたいので経由したくない点の子を全探索…はTLE(特にウニ)
  • 経由したい点に+xするだけでいいですね。

F

完全グラフの森になるようにグラフから辺を削除したときの最小連結成分数

  • 解説AC
  • 制約小さいので指数っぽいかな
  • 部分集合が欲しくなるからbitDPっぽい
  • 完全グラフになる頂点集合のみ1で初期化したテーブルを下から埋めていく
  • dp[S] = min(dp[S-T]+dp[T])って感じ、雑な記法だけど
  • 部分集合を探索するfor文の書き方があり、計算量も4Nでなく3Nに落ちるらしい(なんでか考えてないので考えたい)

Dまでが割といい感じに行ったぶんEのストップが悔しい。てかABが若干むずかったよ今日

2020/12/13、19に開催されたコンテストの感想

めんどくて書いてなかったけど2021年には持ち越さないぞ2020大晦日スペシャ

AtCoder Beginner Contest 185

A

A~D問題の数から開催できる旧ABCの回数を求めよ

  • min(A,B,C,D)

B

スマホの充電をシミュレーションして充電切れが発生するか答えてください

  • やるだけ。0未満になったり容量超えたりしないように注意
  • こういうバグはサンプル試す中で気づいた
  • なにも言われなくても気にするようにしたいですね

C

L[m]の棒を12個に分ける方法の数

  • L-1個の切れ目候補から11個選ぶので二項係数求める問題
  • オーバーフローに気を付けないとこわい

D

任意の固定幅のハンコのみを使ってマス目をはみ出さないように塗るとき、最小押下回数

  • 塗る連続したマスの最小幅のハンコが最適
  • あとは塗るマスの長さとハンコ幅の商切り上げの和
  • 最小幅を0にしないように注意
  • 番兵を置くとうまくいく

E

文字列A,Bに対しペナ1で削除が可能 同じ長さに揃え、一致しない箇所の数×1ペナ、最小ペナはいくつか

  • 動的計画法の5文字がよぎる
  • LCSっぽい?空気感は似てるけど遷移は違うね
  • DP[i][j]=Aのi文字目とBのj文字目までの最小ペナ
  • DP[i+1][j+1]はDP[i][j]とAi,Bjの一致によって定まる
  • DP[i+1][j]とかはDP[i][j]+1でいい
  • 後者の遷移に気付くまで時間がかかった

F

range add queryのxorバージョンを処理してください

  • BITを貼る
  • ACLのやつを貼ろうとしてめんどいになった。タイムロス

パナソニックプログラミングコンテストAtCoder Beginner Contest 186)

A

トラックの積載量と荷物の重さが与えられる。いくつ載せられるか

  • 積載量を重さで割って切り捨てる(当然、C++の整数型なら自動で切り捨てられる)

B

グリッドにAij個のブロックがあり、全部同じ数にするには何個取ればいいか

  • 二次元グリッドの必要性は皆無なので一次元で受け取っていい
  • 揃える先はmin(Aij)
  • それをまず求めて、それとの差を取る

C

N以下の正整数に10進法でも8進法でも7を含まない数はいくつか

  • 制約的に全部試して問題なさそう
  • 進数変換は知らんが、変換すればto_stringで文字列に変換してfind関数で7があるか判定可能
  • 8進変換はX mod 8を答えの文字列に足して8で割るを繰り返す
  • 本当はreverseする必要があるけど今は関係ない

D

i<jの全ペアのabs(Ai-Aj)の総和

  • 各Aiに対し式中の左にくる回数と右に来る回数は簡単にわかる
  • 左にx個右にy個あるならans+=Ai*(y-x)
  • あ sortしないとね
  • 考察順がひどいのでちゃんと整理
  • 全てのi<jについてAi>Ajならabsがいらなくて式を分解できる
  • 降順sort
  • Ai-Ajの総和だけど、AiとAjを分けるとどの数も何回か足され、引かれる
  • その回数は左にある要素数、右にある要素数から決まる
  • あとはそれを求めて足す

E

円形に並ぶN個の椅子がありS番目にいる。K個回る操作何回で0番に着くか、または永遠に着かないか

  • Kx+S=0 mod Nなるxを求めよという問題
  • x=-S/K mod N
  • ググるっきゃない
  • 素数逆元のためのオイラーのφ関数とか使って解く
  • うまくいかないケースがあるけど先にgcdで全部割っておくとうまくいった

F

障害物のある二次元グリッドで、飛車が二手で移動可能なマスの総数

  • 解説AC.
  • 各列で見て足していく
  • それまでに障害物が出現した場所についての区間クエリが欲しくなる
  • セグ木の匂いを感じる
  • うるせえ平方分割で通す
  • なんかあわない
  • 一行目一列目の障害物の存在を忘れていた。そらばぐるわ
  • 時間内に通せる人強いなぁ

2020/12/5に開催されたコンテストの感想

鹿島建設プログラミングコンテスト2020(AtCoder Regular Contest 110)

A

2~N(Nは30以下)のどれで割っても1余るN以上1013以下の整数を出力

  • 2からNまで全部かけた数はどれで割ってもあまり0
  • だから、これに+1
  • をするとN=30のときデカすぎ
  • 最低限だけかける
  • どうする…?
  • 素数を必要なだけかける
  • log2(30) < log2(32) = 5 だから4つかけておけば2~30のどれがきても吸収できる
  • あとは22223335...
  • long longにするのを忘れない
  • lcmに考えが至らなかった

B

"110"×1010の文字列にTは部分文字列としていくつあるか

  • Tが短いときは手で解いたほうがいいんじゃない?
  • T="1" :1010 × 2
  • T="0" :1010
  • T="00" :0
  • T="11" :1010
  • T="10" :1010
  • T="01" :1010 -1
  • Tが"110"の繰り返しでない場合は0(自明)
  • T:(切れ端) + "110"×t + (切れ端)
  • 1010 - {(左切れ端ある?) + t + (右切れ端ある?) - 1}

C

順列pに対してswap(p1,p2), swap(p2,p3), ...を一回ずつやってsortする方法(ないならない)

  • 最大要素を右まで持っていかないといけない時が必ずくる
  • とりあえず先にそれをやらないと詰みそう
  • 大きい数の順に愚直にやっていって、まずいかどうか判断 setなりなんなり

D

長さNで、総和がM以下の数列Bすべてに対し、Bi Choose Aiの相乗を計算し、その総和 mod 10億7

  • 解けず。
  • dpっぽいけどこの制約じゃ無理でしょを永遠にしてた
  • 解法みてひっくり返った 天才
  • 形式的べき級数とかいう強い言葉も聞こえてきたので勉強しないと…

Cまでがひたすら遅かった。特にBの実装がめちゃくちゃ悩んだしペナ食らった。Aもうーんという感じで、かなりつらい結果。