Y
ydfq
Unregistered / Unconfirmed
GUEST, unregistred user!
CanP:array[0..m,0..n] of integer;
MaxP:array[0..m,0..n] of integer
//已知
nM:array[0..m] of integer
//已知>=0
nT:array[0..n] of integer
//已知>=0
nTF:array[0..n] of integer
//已知>=0
关系:
CanP[i,j]每列之和=nT;
CanP[i,j]×nTF[j]之和=nM
0<=CanP[i,j]<=MaxP[i,j]
问题:求2维动态数组CanP的解。任意指定一个CanP[i,j]的值,得到多组解。
请问有什么算法?我只想到用穷举法:(
改个问题也行,如何判断是否有解?
MaxP:array[0..m,0..n] of integer
//已知
nM:array[0..m] of integer
//已知>=0
nT:array[0..n] of integer
//已知>=0
nTF:array[0..n] of integer
//已知>=0
关系:
CanP[i,j]每列之和=nT;
CanP[i,j]×nTF[j]之和=nM
0<=CanP[i,j]<=MaxP[i,j]
问题:求2维动态数组CanP的解。任意指定一个CanP[i,j]的值,得到多组解。
请问有什么算法?我只想到用穷举法:(
改个问题也行,如何判断是否有解?