p1149.pas

来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· PAS 代码 · 共 85 行

PAS
85
字号
PROGRAM p1149;

TYPE
        Twhether        = array[0..60000]of Boolean;
        Tnum            = array[1..6]of Integer;

VAR
        totalval , step         :Longint;
        ans                     :Boolean;
        num                     :Tnum;
        whether                 :Twhether;

FUNCTION Init   :Boolean;
var
        i                       :Integer;
begin
totalval:=0;
for i:=1 to 6 do
        begin
        read(num[i]);
        inc(totalval,num[i] * i);
        end;
if totalval=0 then
        init:=false
        else
        init:=true;
end;

PROCEDURE Dp;
var
        i , j , left , k
                        :Longint;
begin
if odd(totalval) then
        begin
        ans := false;
        exit;
        end;

totalval := totalval div 2;
fillchar(whether , sizeof(whether) , 0);
whether[0] := true;


for i := 1 to 6 do
        for j := 0 to i-1 do
                begin
                k := j;
                left := 0;
                while k<=totalval do
                        begin
                        if whether [k] then
                                left := num[i]
                                        else
                                if (left > 0) then
                                        begin
                                        dec( left ) ;
                                        whether [k] := true;
                                        end;
                        inc( k , i );
                        end;
                if whether [totalval] then
                        begin
                        Ans := true;
                        exit;
                        end;
                end;
Ans := false;
end;

BEGIN
//assign(input,'p.in');
//reset(input);
step:=0;
while init do
        begin
        inc(step);
        Dp;
        writeln('Collection #',step,':');
        if ans then writeln('Can be divided.') else
                writeln('Can''t be divided.');
        writeln;
        end;
END.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?