回 帖 发 新 帖 刷新版面

主题:求助求助,学校练习,明天交了

科学家在热带森林中发现了一种热树的小动物。取名叫“吱吱“。“吱吱“的生长繁殖过程很有规律,每队小“吱吱“经过x个月就长成一对大“吱吱“,每对大“吱吱“每个月都产下Y对小“吱吱“。假设开始时有一对小“吱吱“,并且每队“吱吱“都不死,问:过Z个月后,共有多少对“吱吱“?(X≥1,Y≥1,1≤Z≤24)
(注:若当前是1月,则“过”2个月,是表示到三月的时候)
输入(a5.in)一行,X,Y,Z的值。和数间用空格隔开
输出(a5.out)一行,“吱吱”的总对数
样例:
输入:2 2 4
输出:11

回复列表 (共12个回复)

沙发

来个高手帮帮吧

板凳

不用源程序,告诉我思路就可以

3 楼

如果不用公式法,最简单的办法就是:
记录成年对数ZZ
记录新生对数ZZNEW
循环从1到Z,步长为X
  记录原ZZ的Y倍值到BORNZZ
  ZZ为BORNZZ再加上ZZNEW
  ZZNEW值改为BORNZZ
结束循环
如果Z不能整除X,则ZZ:=ZZ+ZZNEW

4 楼

楼上说的有些问题的,因为他考虑得是类似的情况。
要想解决,最简单的办法是一次保存下来每年有多少对a[y]。

a[t]=a[t-1]+a[t-x]*y (t> x)
a[t]=a[t-1]          (t<=x)
递推即可得到答案。

5 楼

呵呵,有理有理,那时是睡前小甜点,就按他的假设做了,没去再想灵活性问题:)

6 楼

晕了。。。。
最近备战NOIP搞得我天天都要做题,学校作业也没得做了
惨~~~(PS:不知NOIP会考这种题吗??)

7 楼

NOIP要是考这种题目那也只是送分题而已。。。
俺当年的NOI经验告诉俺:
NOI的大题一般都是考NP类完全难题的非数值算法题,或是对数学知识要求较高的(比如统计、级数等)数值、应用数学算法题。

数值类型的比较少,较多的是非数值的题目。
一般以多重列表或树结构来解决图问题:)

8 楼

哦,今年终于不用考NOI(P)了……一塌糊涂的……

9 楼

过了!
////////////////////////////
program zhizhi;  //贴吧。吱吱。low
var
  a:array[1..10000]of integer;
  x,y,z,l,s:integer;
  i,j,k:longint;
begin
  s:=1;
  readln(x,y,z);
  fillchar(a,sizeof(a),0);
  a[1]:=1;
  for l:=1 to z do
  begin
    for j:=1 to s do
    begin
      if a[j]=0 then exit
                else begin
                       if a[j]>=x then begin
                                      for k:=s+1 to s+y do inc(a[k]);
                                      inc(s,y);
                                      end
                                 else inc(a[j]);
                     end;
    end;
  end;
  writeln(s);
  readln;
end.
试试吧!

10 楼

路过,灌水

我来回复

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