jzoj 2041. 【2016.5.21普及组模拟】魔方工厂

题目描述
       兰姐姐是来自火星的女王。
      相信你们一定对兰姐姐不熟悉,她统领整个火星,在各方面拥有最高权力。
      很久很久以前,兰爸爸是火星的国王,去世以后,两个女儿争夺王位。火星上最聪明的人是辣椒酱,他帮助兰姐姐夺得了王位,而兰姐姐的姐姐Horse countryxing没有得到王位,便离开火星前往地球修行。宇宙有三大语言,M++,Marscal,E++,其中地球的E++速度最快。
      兰姐姐智商不高,因此有什么题目总喜欢问辣椒酱。火星上的蒟蒻使用Marscal速度比兰姐姐的M++跑的快。
      火星上的蒟蒻(jǔ ruò)出了一道难题:
      给出N个魔方,每个魔方有一个完成时间,现在要求完成魔方的总时间最短。
      兰姐姐当然不能自己上,于是她拉上了好朋友辣椒酱。两个人共同完成N个魔方,也就是把N个魔方分成两份(不一定相等),使得完成时间最长的那份时间最短。
      兰姐姐的结局烂不烂就掌握在你手里了。





搜索要优美。。。。
const
  maxn=100;
var
  a:array[0..maxn+1] of longint;
  min,n:longint;

procedure init;
var
  i:longint;
begin
  readln(n);
  for i:=1 to n do
    read(a[i]);
  min:=maxlongint;
end;

function max(x,y:longint):longint;
begin
  if x>y then exit(x)
    else exit(y);
end;

procedure dfs(dep,t1,t2:longint);
var
  t:longint;
begin
  if dep>n then
    begin
      t:=max(t1,t2);
      if t<min then min:=t;
      exit;
    end;
  if max(t1,t2)>min then exit;
  dfs(dep+1,t1+a[dep+1],t2);
  dfs(dep+1,t1,t2+a[dep+1]);
end;

begin
  assign(input,'d.in');reset(input);
  assign(output,'d.out');rewrite(output);
  init;
  dfs(0,0,0);
  writeln(min);
  close(input); close(output);
end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值