程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c-這個的突破扣在哪,能給點啟發嗎

c-這個的突破扣在哪,能給點啟發嗎

編輯:編程解疑
這個的突破扣在哪,能給點啟發嗎

簡易矩陣
時間限制: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滿足,結束,構造完成。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved