14匁にC++の力で挑んだが甜菜はそんなものをふっとばして答えにたどり着くC++ExcelatgtはじめにC++erの皆様へ本当は三項演算子(条件演算子)について、規格書を丹念に読み進めていく記事にするはずでした。C++の三項演算子の仕様は要するに「2つの式から共通の型を導出するのをなるべく頑張る」で、それはstd::common_(type|reference)の仕様にダイレクトにつながって、そこからさらに複数のrangeを1つのrangeに見せるアダプタ等にも綺麗につながる発展性のある話になる予定(私的に)なので誰か頑張れ。2019それ、必要なのはstd::common_typeの解説であって三項演算子関係ないやんそしてそれには規格書でも丸々一章くらい割いてる型変換周りの仕様を全部解説しないといけない。2019これらがきっかけです。Carenderの記事にするのは断念しました。そこでatgt(後述)というイベントでC++のコードを書いたのでそれの解説でもしながらお茶を濁します。例年真面目な記事?を書いてきたのに期待されていた方(いないって)、ごめんなさい。atgtから来た方へどうも、4匁で勇者として藤野に凸してきたのは私です。yumetodoの旅とプログラミングとかの記録をお読みください。青信号はそのまま通過ルール検証もよかったら見てやってください。マイクラ検証班で録画担当してました。atgtとは「あめちゃん」が考案し、平成17年2月に2ちゃんねるVIP板にて開催された「VIPPERのあんたがたに挑戦します」。GMが提示したパスワードから出題される謎を解き、その答えが指し示す場所に突撃すると、そこには次のパスワードが。全国に散らばった謎を辿り、顔も知らない仲間達と協力する、世界で最もwktkな遊びです。その遊びはTwitterの世界にも持ち込まれました。それが「Twitterのあんたがたに挑戦します」です。ルール8桁のパスワードをメモし、財布を持ってセブンイレブンへ。コピー機で「ネットプリント」を選択し、パスワードを入力して問題を印刷。印刷された問題を解いて現地を突き止める。現地でパスワードが書かれたガムテープを探す。1~4を繰り返し、ゴールを目指す。atgtでの慣習とか用語(記事を読むに当たり必要そうなもの抜粋)問題がリレーして出てくるわけですが、順番に普通なら1問目、2問目・・・と書くところを、atgtでは「匁」を使って表す傾向にあります。sheetで共同作業して模索することが近年しばしば行われる。2019セブンイレブンのネットプリントを使ったことがある人ならご存知と思うが、ネットプリントするときにファイル名を見ることができる。ファイル名も問題を解く手がかりとなる。ファイル名は「白か黒か」だった。2019この記事を書くためだけに、自分もさっき近くのセブンイレブンに行って印刷してきたのがこちらだ。ここからガムテープがある場所と現地でガムテープを探すときのヒントを特定する。ガムテープは大抵は日本国内のどこかにある。行かない問題で様々な模索が行われた。オセロとか、問題文下が途切れてることからループ説が出てオルゴールとか、音ゲーの譜面じゃないかとか、幅が16ますなので文字コード表のどこかじゃないかとか、数字をアルファベットに置き換えてみたり、数字を順番に線で結んでなんか図形が見えないか調べたりなどなど・・・。一つの道筋そんななか、私が目にしたツイートがこれだ。2019面白いので検証しようとしたが、これを人力でやるには面倒すぎる。2から3までやった時点であきた。いうわけでプログラムの出番やろ!検証するプログラムを書くというわけで私の得意言語、C++の出番だ。sproutのちからを借りてコンパイル時に結果を求めよう。色の反転ということは黒と白の2値しかないのだから、これはboolの出番だ。ここでは黒をtrue(=1),白をfalse(=0)とする。数値が含まれている範囲だけが対象だからのように座標を取ることにした。}}のように書ける・・・ということはない。出力例1,1,1,1,1,0,1,0,0,0,0,1,0,0,0,1,https://wandbox.org/permlink/efUA3q69VclN9mTsバイトオーダーとかに依存して意図したようにならない。}}実行例1,0,0,0,1,0,0,0,0,1,0,1,1,1,1,1,https://wandbox.org/permlink/f5FSFRqZgcMHR2Oh数値の表を作る1~36までの数値はその(x,y)座標をstd::pairで管理した。これは後述の色の反転処理には便利だが、最終的には表の形でほしいので作る。数値が入らないところは0にする。std::minmaxを使って左上と右下の座標に変換する。x2](閉区間)のbitを立てたmaskを作る。y2]の範囲の行に対してさっきのmaskとxorを取ればいい。xorで済むというのはとってもシンプルでいい。}あとはこれを全部の数字について実行すればいい。}結果0,1,1,0,0,1,1,1,1,0,1,1,1,0,1,01,0,1,1,1,1,1,1,1,0,0,1,1,1,0,10,0,0,1,1,0,0,1,1,1,0,1,1,1,0,01,0,0,1,0,0,1,0,0,1,1,1,1,1,1,10,0,0,0,1,0,0,0,0,0,1,0,0,0,0,01,0,1,1,1,1,0,0,0,0,1,0,1,1,1,10,0,0,0,1,1,1,1,1,1,1,1,1,1,1,00,1,1,0,1,1,0,0,1,1,1,1,0,0,0,00,1,0,0,0,1,1,0,0,1,0,1,1,0,1,01,1,1,1,1,1,1,0,1,0,1,1,1,1,1,10,0,1,1,1,0,0,1,1,0,0,1,0,0,1,01,1,0,0,1,1,1,0,1,0,1,1,1,1,1,10,0,1,1,0,0,1,0,1,0,0,1,1,1,1,11,1,0,1,1,1,0,1,0,0,1,0,0,0,0,01,0,1,0,1,0,1,0,0,1,0,1,0,0,0,01,1,0,0,0,0,1,0,0,1,0,1,0,0,0,00,0,0,0,1,1,1,1,1,1,1,0,0,1,0,10,0,0,0,0,1,0,0,0,0,1,1,1,0,1,11,0,1,1,1,0,1,1,1,1,1,0,1,1,1,01,1,1,0,1,1,1,1,1,0,1,1,1,1,0,036,0,0,0,0,0,0,0,0,17,0,0,0,0,0,260,27,28,29,30,31,32,33,34,0,35,0,0,0,0,00,0,0,0,0,0,0,0,0,21,0,0,0,24,0,250,0,0,0,2,0,0,0,0,0,0,0,0,0,0,00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00,13,0,0,0,0,0,0,0,0,0,0,0,0,0,00,0,0,0,0,0,0,0,7,0,10,0,5,0,0,06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,014,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00,0,0,0,0,1,0,0,0,0,0,0,0,0,0,00,0,0,0,0,0,0,0,0,0,0,0,0,0,19,022,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00,0,0,0,8,0,0,0,11,0,0,0,0,0,0,00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00,0,0,0,0,0,12,0,0,0,0,0,0,0,0,918,0,0,0,0,0,0,0,0,0,3,0,0,0,0,00,0,0,0,0,0,0,0,0,23,0,0,0,0,0,04,0,0,0,0,0,20,0,0,0,0,0,0,16,0,00,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0結果の処理Excelを使う。Excelに貼り付けて、区切り位置指定する適当に列の幅を調整した後、下の表を選択して条件付き書式の設定をしていく。条件付き書式は選択開始位置からの相対参照ができる。A22=0)こんな感じというわけでこんな結果を得る。Subそうとうスモールな半自動化による結果が先に飛び出てしまった。(あれっ、でも私のと結果合わなくね?)甜菜はそんなものをふっとばして答えにたどり着く難航するかに見えたこの問題は、結論から言うと一人の甜菜によってすべてを吹き飛ばして答えにたどり着いた。2019本日のは?件だ。どっからそれが飛び出てきた。いうかそもそも私はサイバーサンダーサイダーなんて知らない。2019https://www.nicovideo.jp/watch/sm15440067ボカロ殿堂入り楽曲らしい。すまんな、ボカロはわからん。requestStockLike6@yumetodoありきたりなC++erです。upLoginユーザーは見つかりませんでした。