エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ABC 031 D - 語呂合わせ - srupのメモ帳
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ABC 031 D - 語呂合わせ - srupのメモ帳
問題 問題概要 省略 解法 この問題のポイントは、数字に対して、割り当てられる文字の長さが3文字までで... 問題 問題概要 省略 解法 この問題のポイントは、数字に対して、割り当てられる文字の長さが3文字までであるから、1~9の数字を何文字にするかきめれば、その長さが矛盾しないものか確かめられる。 実装で困った点は、kが決まっていないので、単純にループで何文字にするかを全探索で書くことはできない。そこで、3bit全探索を書くことになるみたい。2bit全探索はやったことあるので、実装ができるが、3bit全探索はやったことがない。やりかたは、以下の通り。 //3進数bit全探索 for (int mask = 0; mask < pow(3, k); ++mask){ int tmp = mask; for (int pos = 1; pos <= k; ++pos){//数字1~kが何文字分か仮定する len[pos] = tmp % 3 + 1;//1 ~ 3文字 tmp /= 3; } } 2