首页 > ACM题库 > HDU-杭电 > HDU 1096 A+B for Input-Output Practice (VIII)模拟[解题报告] C++
2013
11-27

HDU 1096 A+B for Input-Output Practice (VIII)模拟[解题报告] C++

A+B for Input-Output Practice (VIII)

问题描述 :

Your task is to calculate the sum of some integers.

输入:

Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.

输出:

For each group of input integers you should output their sum in one line, and you must note that there is a blank line between outputs.

样例输入:

3
4 1 2 3 4
5 1 2 3 4 5
3 1 2 3

样例输出:

10

15

6

2011-12-14 05:16:49

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1096

题意:多组,输入n个数字,输出和。

代码:

# include <stdio.h>


int main ()
{
    int sum, n, num ;
    int flag = 0 ;
    scanf ("%d", &n) ;
    while (~scanf ("%d", &n))
    {
        sum = 0 ;
        while (n--){
            scanf ("%d", &num) ;
            sum += num ;
        }
        if (flag == 0) flag = 1 ;
        else puts ("") ;
        printf ("%d\n", sum) ;
    }
    return 0 ;
}


  1. 约瑟夫也用说这么长……很成熟的一个问题了,分治的方法解起来o(n)就可以了,有兴趣可以看看具体数学的第一章,关于约瑟夫问题推导出了一系列的结论,很漂亮

  2. 第二个方法挺不错。NewHead代表新的头节点,通过递归找到最后一个节点之后,就把这个节点赋给NewHead,然后一直返回返回,中途这个值是没有变化的,一边返回一边把相应的指针方向颠倒,最后结束时返回新的头节点到主函数。