[codeforces 1371A]Magical Sticks 棍子拼接

    技术2022-07-15  98

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

    [codeforces 1371A]    Magical Sticks   棍子拼接

    总目录详见https://blog.csdn.net/mrcrack/article/details/103564004

    在线测评地址http://codeforces.com/contest/1371/problem/A

    ProblemLangVerdictTimeMemoryA - Magical Sticks GNU C++17Accepted31 ms200 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 <stdio.h> 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; }

     

    Processed: 0.010, SQL: 9