codeforces654题解_[codeforces 1374A] Magical Sticks 棍子拼接

Codeforces Round #654 (Div. 2)   参与排名人数14349   本场比赛主要心思放在观摩高手如何打比赛,发现初中生真的很厉害。

[codeforces 1374A]    Magical Sticks   棍子拼接

Problem

Lang

Verdict

Time

Memory

GNU C++17

Accepted

31 ms

200 KB

题目大意:给定n根长度介于[1,n]的棍子,可以将棍子进行拼接,要求处理后,长度相同的棍子数量最多。输出这个最多的数量。

样例模拟如下:

1

1

拼接前(1)

拼接后,只有1根(1),输出雷同的1根

2

1

拼接前(1,2)

拼接后,只有1根(3),输出雷同的1根

3

2

拼接前(1,2,3)

拼接后,只有2根(1+2=3,3),输出雷同的2根

4

2

拼接前(1,2,3,4)

拼接后,只有3根(2,1+2=4,4),输出雷同的2根

5

3

拼接前(1,2,3,4,5)

拼接后,只有3根(1+4=5,2+3=5,5),输出雷同的3根

6

3

拼接前(1,2,3,4,5,6)

拼接后,只有4根(3,1+5=6,2+4=6,6),输出雷同的3根

7

4

拼接前(1,2,3,4,5,6,7)

拼接后,只有4根(1+6=7,2+5=7,3+4=7,7),输出雷同的4根

8

4

拼接前(1,2,3,4,5,6,7,8)

拼接后,只有4根(1+7=8,2+6=8,3+5=8,8),输出雷同的4根

这些例子举完,规律也就出来了,请看以下AC代码:

#include

int main(){

int t,n,i,ans;

scanf("%d",&t);

while(t--){

scanf("%d",&n);

ans=(n-1)/2+1;

printf("%d\n",ans);

}

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值