競技プログラミング用 知識集積所
ABC430B - Count Subgrid
最終更新:
sport_programming
-
view
問題
必要知識
A問題レベルのものは省略
考え方
塗り方を取り出すには、行数をカウンタとするforループで、一行ずつ該当範囲を.substr()で切り出すとよい。
種類数を数えるにはset※を使い、出現したものをひたすら.emplace()していく。
set※は重複を自動的に取り除いてくれるので、全探索※を終えた時点でのset※の要素数が答えとなる。
(set※は、ソートの必要がない場合unorderedの方が動作が速いが、複雑な型を入れようとするとやや大変。B問題では高速化のメリットもないので、ここでは普通のset※でいい)
set※は重複を自動的に取り除いてくれるので、全探索※を終えた時点でのset※の要素数が答えとなる。
(set※は、ソートの必要がない場合unorderedの方が動作が速いが、複雑な型を入れようとするとやや大変。B問題では高速化のメリットもないので、ここでは普通のset※でいい)
set※の型はset※<vector<string>>にして取り出した文字列を1行ずつ入れたvector<string>>で入れてもいいし、set※<string>で、取り出した文字列を一列につなげたstring型で入れてもいい。