簡易矩陣
時間限制:1000 ms | 內存限制:65535 KB
描述
這天,Yougth給冷淡一個m*n的矩陣,矩陣中的元素只有0和1,並且給出矩陣中每一行每一列的元素的和,問他是否存在這樣一個矩陣。
這道題目可把冷淡難住了,你能幫他解決嗎?
輸入
輸入包括多組測試數據,每個測試數據包括三行,首先第一行是兩個數m和n,m是矩陣的行數,n是列數。然後第二行是m個數,表示矩陣每行的和,第三行n個數表示每列的和。(1<=m,n<=100000)
輸出
如果存在這樣的矩陣,輸出YES,否則輸出NO。
樣例輸入
1 1
0
1
1 1
1
1
樣例輸出
NO
YES
能想到的一個思路,首先根據橫行的和構建矩陣,並且假設每行數據是1...1 0...0的形式。
然後根據列,調整每行,將多余的1和後面列的0交換,直到整個矩陣排出或者排不出,終止。
比如
3 3
1 2 3
2 1 3
這樣的數據
首先排出
1 0 0
1 1 0
1 1 1
然後湊第一列,
0 1 0
1 1 0
1 1 1
使得第一列滿足2
然後
0 0 1
1 0 1
1 1 1
最後3滿足,結束,構造完成。