⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ac1212.pas

📁 同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料
💻 PAS
字号:
program tju1212;
const
  maxd=30;
  maxl=10;
  modulo=11380;
var
  f:array[0..maxd,0..maxl,0..maxl,0..maxl]of word;
  d,l1,l2,l3,i,j,k,t:longint;
begin
  f[0,0,0,0]:=1;
  for d:=1 to maxd do
    for l1:=0 to maxl do
      for l2:=0 to maxl do
        for l3:=0 to maxl do begin
          if l1+l2+l3=0 then begin f[d,l1,l2,l3]:=1;continue;end;
          t:=0;
          if l3>0 then
            for i:=0 to l3-1 do
              t:=(t+f[d-1,0,0,i]*f[d,l1,l2,l3-1-i]) mod modulo;
          if l2>0 then
            for i:=0 to l2-1 do
              for j:=0 to l3 do
                t:=(t+f[d-1,0,i,j]*f[d,l1,l2-1-i,l3-j]) mod modulo;
          if l1>0 then
            for i:=0 to l1-1 do
              for j:=0 to l2 do
                for k:=0 to l3 do
                  t:=(t+f[d-1,i,j,k]*f[d,l1-1-i,l2-j,l3-k]) mod modulo;
          f[d,l1,l2,l3]:=t;
        end;

  repeat
    read(i,j,k,d);
    if d>0 then
      writeln((f[d,i,j,k]-f[d-1,i,j,k]+modulo) mod modulo)
    else
      writeln(ord(i+j+k=0));
  until seekeof;
end.

⌨️ 快捷键说明

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