信息技术奥林匹克竞赛复习纲要要点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息技术奥林匹克竞赛复习纲要要点

(3)I:=I+1 ; (4)J:=J+1 ; (5)I:=I-J+2 ; (6)J:=1 ; (7) POS1:=I-(J-1) ; (8) POS1:=0 ; 2.问题描述:将n个整数分成k组(k≤n,要求每组不能为空),显然这k个部分均可得到一个各自的和s1,s2,……sk,定义整数P为: P=(S1-S2)2+(S1-S3)2+…+(S1-Sk)2+(s2-s3)2+…+(Sk-1-Sk)2 问题求解:求出一种分法,使P为最小(若有多种方案仅记一种〉 程序说明: 数组:a[1],a[2],...A[N]存放原数 s[1],s[2],...,s[K]存放每个部分的和 b[1],b[2],...,b[N]穷举用临时空间 d[1],d[2],...,d[N]存放最佳方案 程序: program exp4; Var i,j,n,k : integer; a :array [1..100] of integer; b,d:array [0..100] of integer; s :array[1..30] of integer; begin readln(n,k); for I:=1 to n do read(a[I]); for I:=0 to n do b[I]:=1; cmin:=1000000; while (b[0]=1) do begin for I:=1 to k do ① for I:=1 to n do ② sum:=0; For I:=1 to k-1 do for j:= ③ sum:=sum+(s[I]-s[j])*(s[I]-s[j]); if ④ then begin cmin:=sum; for I:=1 to n do d[I]:=b[I]; (1)? S[I]:=0; (2)? S[b[I]]:=s[b[i]]+a[I]; (3) I+1 to k do (4)? (cmin sum ) (5)? b[j]=k (6)? b[I]:=1; end; j:=n; while ⑤ do j:=j-1; b[j]:=b[j]+1; for I:=j+1 to n do ⑥ end; writeln(cmin); for I:=1 to n do write(d[I]:40); writeln; end. 3. 问题描述:工厂在每天的生产中,需要一定数量的零件,同时也可以知道每天生产一个零件的生产单价。在N天的生产中,当天生产的零件可以满足当天的需要,若当天用不完,可以放到下一天去使用,但要收取每个零件的保管费,不同的天收取的费用也不相同。 问题求解:求得一个N天的生产计划(即N天中每天应生产零件个数),使总的费用最少。 输入:N(天数N=29) 每天的需求量(N个整数) 每天生产零件的单价(N个整数) 每天保管零件的单价(N个整数) 输出:每天的生产零件个数(N个整数) 例如:当N=3时,其需要量与费用如下: ? 第一天 第二天 第三天 需要量 25 15 30 生产单价 20 30 32 保管单价 5 l0 0 生产计划的安排可以有许多方案,如下面的三种: 第一天 第二天 第三天 总的费用 25 15 30 25*2O+15*30+30*32=1910 40 0 30 40*20+15*5+30*32=1835 70 0 0 70*20+45*5+30*10=1925

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档