作者yantchen (球童Yanting)
看板NTUE-CS102
标题[希加] 云霄飞车
时间Tue May 25 11:45:54 2010
首先是输入, 要能够把N个排队人数存下来, 用阵列吧
int R, K, N; // R=几趟, K=每趟max人, N=有几团
cin >> R >> K >> N;
int A[N]; // dev
int *A=new int[N]; // vc 两种选一种
for(i=0;i<N;i++)
cin>>A[i];
输入完以後 接下来就是模拟跑 R 趟
每次需要从A里面 拿一些人出来 但是不能超过 K
所以需要三个计数器 我用a,b,c
分别记录 a=这趟已经载多少人, b=今天总共载多少人(赚多少), c=目前跑到哪一团
a=b=c=0; // 先归零
for(i=0;i<R;i++) // 跑 R 趟
{
for(j=0;j<N;j++) // 每趟最多载 N 团, 不然就有人重复出现在车上了
{
if(a+A[c] <= K) // 如果载的下
{
a=a+A[c];
c++;
if(c>=N) c=0; // 如果後面没有人了 第一团重新排队
}
}
b=b+a; // 把这趟的人数累加到今天总人数 然後a归零
a=0;
}
cout<<"今天收入:"<< b <<endl;
没有想像中难吧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.127.47.90
1F:推 gcobc12632:首推有保佑 05/25 11:46
※ 编辑: yantchen 来自: 120.127.47.90 (05/25 11:47)
2F:推 CaptainWill:推! 05/25 11:48
3F:→ yantchen:这一篇文章值 147 元 下次开赌哪时 拿来当赞助 05/25 11:49
4F:→ gcobc12632:现在就开赌 C++有几个人会被当掉XD 05/25 11:50
5F:推 j2612280:用串列XD~ 05/25 11:54
6F:推 CaptainWill:开赌罗~ 05/25 11:56
7F:推 Arashinoon:开赌啦开赌啦开赌啦开赌啦开赌啦开赌啦开赌啦开赌啦开 05/25 11:59
8F:推 gcobc12632:不可能啊囧 都照抄了还有错…… 05/25 12:54
少了个等於
※ 编辑: yantchen 来自: 120.127.36.183 (05/25 13:57)
9F:→ gcobc12632:那应该是大K 不是小k吧? 05/25 20:20
哈有认真在看程式喔
※ 编辑: yantchen 来自: 120.127.36.183 (05/25 22:09)
10F:推 gcobc12632:所以有挑错有加分! 如果有的话 05/25 23:28