郵便配達停止の問題を解決しようとしていますが、それを解決するためのアルゴリズムが見つかりません。問題はこれです:
1からnまでの番号が付けられたnの家と、nの郵便配達員があり、それぞれにnの文字が各家に掲示されます。郵便局長は、各郵便局長が異なる時間に1回だけ各家を訪問するように計画を決定しました。つまり、どの家にもいつでも最大1人の郵便局長がいます。他の郵便局長のような郵便局長はいないので、郵便局長は、n軒の家に郵便局長が配達するときに他の郵便局長と会わないことを望んでいます。そこで彼は、郵便配達員が特定の家の後に投稿するのをやめたいと思っています。つまり、Postmasterは、 i番目の郵便局長がstop [i]番目の家を訪問すると、その家の後に投稿を停止するようなシーケンス停止を見つけたいと考えています。彼は各家に最大1つのポストがあることを確認したいので、シーケンスストップを選択する必要があります郵便配達員Aが時間Tに家Hを訪問し、彼が家の後に投稿を停止した場合、他の郵便配達員は時間Tの後に家Hを訪問しません。郵便局長がそのようなシーケンス停止を見つけるのを手伝ってください。
入力は次のように与えられます:
まず、 n(1≤n≤100 )で、郵便配達員と家の数を示します。次に、n行が続き、各行にはn個の正の整数が含まれます。i行目のj番目の整数は、i番目の郵便配達員がj番目の家を訪問する時刻を示します。
例:n = 3
シーケンスは次のとおりです。
1 2 3
4 5 6
7 8 9
出力されるストップ配列は次のようになります。
3 2 1
つまり、1番目の郵便配達員は3番目の家、2番目の家、3番目の家に投稿を停止します。
この問題を解決するには、どのアルゴリズムを使用する必要がありますか?