回 帖 发 新 帖 刷新版面

主题:承担劳动量问题

根据世贸组织某项规定,现有甲、乙、丙三个国家和A、B、C三个不同的项目,每个国家只能承担一个项目,且一个项目只能由某一个国家承担。下表表示的是甲、乙、丙三个国家分别承担A、B、C三个项目所需的劳动量(X1、X2、X3、Y1、Y2、Y3、Z1、Z2、Z3均由键盘输入,且都小于10000,大于10)。请编程确定如何分配项目(甲、乙、丙三个国家分别承担什么项目),所需要的总劳动量最少,并求出最少劳动量的值。
    A    B    C
甲    X1    X2    X3
乙    Y1    Y2    Y3
丙    Z1    Z2    Z3

回复列表 (共2个回复)

沙发

CLS
DIM A(3, 3)
PRINT "Now,you can input x1,x2...z3.(>10,<10000)"
FOR i = 1 TO 3
   FOR j = 1 TO 3
      PRINT "<"; i; ","; j; ">:";
      DO
         INPUT A(i, j)
      LOOP UNTIL A(i, j) > 10 AND A(i, j) < 10000
   NEXT j
NEXT i
MIN = 300001
FOR JIA = 1 TO 3
   FOR YI = 1 TO 3
      IF JIA <> YI THEN
         BING = 6 - JIA - YI
         S = A(1, JIA) + A(2, YI) + A(3, BING)
         IF S < MIN THEN MIN = S: MIN1 = JIA: MIN2 = YI: MIN3 = BING
      END IF
   NEXT YI
NEXT JIA
PRINT "JIA:X"; MIN1; "YI:Y"; MIN2; "BING:Z"; MIN3
END
(本题采用穷举法)

板凳

接上条:
如不对,可以调试一下:
(变量作用)
min:存放工作量最小的和(一开始的30001是为后面的打擂台作基础)
s:临时存放总工作量
min1,min2,min3:存放最小和为min情况下的甲、乙、丙的承担任务
jia:甲承担的任务(循环变量)
yi:乙承担的任务(循环变量)
bing:丙承担的任务(循环变量)

我来回复

您尚未登录,请登录后再回复。点此登录或注册