SRM 299 Div2-500pt: Projections
問題概要
H*W(H,W<50)のボードに物体が置いてあり、x方向の射影とy方向の射影が与えられる。置いてある物体の個数の最小値と最大値を求める問題。
解法
射影で確認できる個数をX,Yとすると、最小はmax(X,Y)。最大はX*Y。
class Projections { public: vector <int> count(string front, string right) { vector<int> ret(2,0); int f = 0, r = 0; for(int i=0; i<(int)front.size(); i++)if(front[i]=='x')f++; for(int j=0; j<(int)right.size(); j++)if(right[j]=='x')r++; ret[0] = max(f, r); for(int i=0; i<(int)front.size(); i++)for(int j=0; j<(int)right.size(); j++){ if(front[i] == 'x' && right[j] == 'x') ret[1]++; } return ret; }