ウェブサイトでこのプログラミング パズルを見て、解こうとしました。
問題
特定のドットがランダムに分散された N x N グリッドが与えられます。次の許可されたアクションを使用して、ドットを削除する必要があります。
1回のショットで連続してすべてのドットを削除できます
または、1 回のショットで列内のすべてのドットを削除できます。
すべてのドットを削除するために必要な最小ショット数を見つける必要があります。
例
次のグリッドでは、ドットを削除するために、水平方向に 1 つ、垂直方向に 2 つの 3 つのショットが必要です。
行と列をドットでカウントするというアプローチを試しましたが、最小のものが答えになります。しかし、上記の例のような特定のケースでは失敗します。それを行う方法は何ですか、またはこの問題を解決するために参照できるそれに類似した状況はありますか?
編集
与えられた制約は
1 <= N <= 1000
0 <= x,y <= 10^9
Time Limit: 2 sec
ここで、n はグリッドの次元 (つまり nxn) で、x、y は座標です