さてDiv2 Easyもさくっとクリアしていきましょう。
http://community.topcoder.com/stat?c=problem_statement&pm=12479
問題
長方形の土地の中で、いくつか興味深いポイントがある。
土地は文字列で与えられ、そのうち興味深いポイントはアルファベットで与えられる。
それとは別に、整数配列で興味深いポイントの数が与えられる。
各ポイント数に応じたポイントのアルファベット数を答える。
解法
単純にアルファベットの登場回数をカウントするだけ。
class CityMap { public: string getLegend(vector <string> cityMap, vector <int> POIs) { int W=cityMap[0].size(); int H=cityMap.size(); int num[26]; ZERO(num); int y,x; FOR(y,H) FOR(x,W) if(cityMap[y][x]!='.') num[cityMap[y][x]-'A']++; string res=""; FOR(x,POIs.size()) { int nu=POIs[x]; FOR(y,26) { if(nu==num[y]) { res += 'A'+y; break; } } } return res; } };
まとめ
イマイチ面白みのない問題だな…。