Description:

w*h個のセルの上に、n点からなる多角形が描かれている。(1 <= h,w <= 100, 3<=n<=100)
各セルを1文字に置き換える事で、この多角形をASCII Artで表現して欲しい。
100%多角形に含まれているセルは '#' 、75%以上なら '$'、 50%以上なら 'o' 、25%以上なら '+' 、それ未満なら '.' の文字で、各セルを表現する事。

Answer:

多角形の各辺(x1,y1)-(x2,y2)に対して、(0,y1), (x1,y1), (x2, y2), (0, y2)の四点からなる台形を考え、(x1,y1)-(x2,y2)が時計回りの順番なら、y1>y2の時マイナス、y1多角形の面積は、この台形の符号付面積の和で求める事が出来る。
この符号付面積を、各セルに割り振ってやればよい。
三辺がx/y軸と平行な台形なら、比較的楽に出来るはずだ。
計算量は、O(n*w*h)

Source: