美文网首页
Pascal小白|队伍选择问题

Pascal小白|队伍选择问题

作者: 皮卡球ca | 来源:发表于2017-12-19 14:41 被阅读0次

题目描述

小朋友排队领蛋糕,铭铭想从队伍中选出K位小朋友帮忙分发蛋糕,但铭铭选人的方法有点特别,他想从队伍中选连续的k个小朋友,而且必须男比女多,你知道铭铭有多少种选择吗?

输入

第一行输入两个整数。N代表队伍中有N个小朋友,铭铭想从其中选出K个人(0<K<N)

第二行 有个N个0或1(0代表男,1代表女)每个数用空格隔开。

输出

输出一个整数,代表铭铭可以有多少种选择方案。

var
  n,k,i, j,boycount,count: Integer; {n小朋友总数, k为选出的人数,i,j 索引值,boycount为男生数目,count为符合男多女少的组合数目}
  
  list: array[1..1000] of byte; {数列}

begin 
  
  Read(n);
  Read(k);
 
  for i := 1 to n do Read(list[i]);
  
  i:=1;
  while i<=(n-k) do
  
  begin
  
  j:=i;
  boycount:=0;
  while j<i+k do
  begin
  
  if(list[j]=0) then inc(boycount);
  
  inc(j);
  
  end;
  
  if(boycount>k-boycount) then inc(count);
   
   inc(i);
  
  end;
  
  writeln(count);
  Readln;
end.

泪奔,本写法只得了50分,老师说可以用游标,每次不要全部统计,可增量统计。
虽然个人不以为然,觉得机器器统计一次还不是小 意思,然而当老师把数字调整为80000的时候,我还是认了怂。实现重要,方法重要。
增量方式改天贴一下。

相关文章

网友评论

      本文标题:Pascal小白|队伍选择问题

      本文链接:https://www.haomeiwen.com/subject/uegbwxtx.html