首页 > 试题广场 >

多组_二维数组_T组形式

[编程题]多组_二维数组_T组形式
  • 热度指数:23465 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定 t 组询问,每次询问给出一个 nm 列的二维正整数数组 a ,第 i 行第 j 列元素的值为 a_{i,j}
请你分别求出每个数组的元素之和。

输入描述:
第一行有一个整数 t\ (\ 1 \leq t \leq 10^5\ )
随后 t 组数据。
每组的第一行有两个整数 n\ (\ 1 \leq n \leq 10^3\ )m\ (\ 1 \leq m \leq 10^3\ )
每组的随后 n 行,每行有 m 个整数 a_{i,j}\ (\ 1 \leq a_{i,j} \leq 10^9\ )
保证 \sum n \cdot m \leq 10^6


输出描述:
输出 t 行,每行一个整数,代表数组元素之和。
示例1

输入

3
3 4
1 2 3 4
5 6 7 8
9 10 11 12
1 1
2024
3 2
1 1
4 5
1 4

输出

78
2024
16
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n=in.nextInt();//输入要几个二维数组
        for(;n>0;n--)//处理每个数组
        {
            //初始化sum
            long sum=0;
            //每个2D数组的行和列
            int i=in.nextInt();
            int j=in.nextInt();
            //开辟二维数组空间
            int [][]array=new int[i][j];
            //赋值
            for(int k=0;k<array.length;k++){
                for(int l=0;l<array[k].length;l++){
                    array[k][l]=in.nextInt();
                }
            }
            //遍历求和
            for(int k=0;k<array.length;k++){
                for(int l=0;l<array[k].length;l++){
                    sum+=array[k][l];
                }
            }
            System.out.println(sum);

        }

    }
}
发表于 2025-04-30 17:22:17 回复(0)
C语言简单代码,注意不要弄混设的变量。
#include <stdio.h>

int main() {
    int  n;
    scanf("%d",&n);
    for (int  i=0;i<n;i++)
    {
        int  a,b;
        scanf("%d%d",&a,&b);
        int  l[a][b];
        long  long  sum=0;
        for (int  j=0;j<a;j++)
        {
            for (int  k=0;k<b;k++)
            {
                scanf("%d",&l[j][k]);
                sum+=l[j][k];
            }  
        }
        printf("%lld\n",sum);
    }
    return 0;
}

发表于 2025-02-07 19:46:30 回复(0)
t = int(input())
for _ in range(t):
    sum_row = 0
    n, m = map(int, input().split())
    for i in range(n):
        row = list(map(int, input().split()))
        sum_row += sum(row)
    print(sum_row)

发表于 2024-11-30 21:34:50 回复(0)
public class Program {
    public static void Main() {
        string line;
        int t = int.Parse(System.Console.ReadLine ()); //读取组数
        int x = 0;
        long sum = 0;

        if (t > 0) {
            //控制读取组
            for (int i = 0; i < t; i++) {
                string[] tokens = System.Console.ReadLine ().Split();
                x = int.Parse(tokens[0]);//行数
                //控制读取组内
                for (int j = 0; j < x; j++) {
                    tokens = System.Console.ReadLine ().Split();
                    foreach (string s in tokens) {
                        sum += int.Parse(s);
                    }
                }
                //输出这个数组的和
                System.Console.WriteLine(sum);
                sum = 0;
                x = 0;
            }
        } else
            System.Console.WriteLine(sum);
    }
}

发表于 2025-04-06 14:15:24 回复(0)
#include <iostream>
using namespace std;

int main() {
 
    int t;
    cin >> t;
    int n,m;
    long sum= 0;
    long  tmp;
    for (int k=0; k<t; k++) {
         sum= 0;
         cin >> n >> m;
         for (int i=0; i<n; i++) {
            for (int j=0; j<m; j++) {
                cin >>tmp;
                sum += tmp;
            }
         }
        cout<<sum<<endl;
    }
}
发表于 2025-02-12 14:49:07 回复(0)
while True:
    try:
        num = int(input())  # 数组的数量
        for i in range(num):
            n, m = map(int, input().split())  # 输入二维数组的行数和列数

            a = []  # 初始化列表

            # 利用for循环构建数组
            for i in range(n):
                row = list(map(int, input().split()))  # 读取每一行的元素
                a.append(row)  # 将行添加到数组中
           
            # 计算数组的和
            result = sum(sum(row) for row in a)   # 先计算每行的sum,再计算总和
            print(result)

    except:
        break
发表于 2024-08-16 14:27:36 回复(0)
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
    in := bufio.NewReader(os.Stdin)
    out := bufio.NewWriter(os.Stdout)
    defer out.Flush()
    
    var T int
    fmt.Fscan(in, &T)
    for ; T>0; T--{
        var n,m int
        fmt.Fscan(in, &n, &m)
        var sum int64
        for i :=0; i<n; i++{
            for j:=0;j<m; j++{
                var x int64
                fmt.Fscan(in, &x)
                sum += x
            }
        }
        fmt.Fprintln(out, sum)
    }
}

发表于 2026-04-26 17:20:42 回复(0)
#include <iostream>
using namespace std;
//依旧不用数组
int main() {
    int all, a, b,c;
    cin>>all;
    for(int i=0;i<all;i++)
    {
        long sum=0;
        cin>>a>>b;
        for(int j=0;j<a*b;j++)
        {
            cin>>c;
            sum=sum+c;
        }
        cout<<sum<<endl;

    }
}
// 64 位输出请用 printf("%lld")
发表于 2026-04-23 20:39:51 回复(0)
import sys
t = int(input())
for i in range(0, t):
    n, m = map(int, input().split())
    lists = []
    for _ in range(0, n):
        a = list(map(int, input().split()))
        lists = lists + a
    print(sum(lists))
发表于 2026-04-13 12:35:49 回复(0)
t = int(input())
ans = 0
for i in range(t):
    n, m = map(int, input().split())
    for j in range(n):
        ans += sum(list(map(int, input().split())))
    print(ans)
    ans = 0
发表于 2026-03-21 10:52:10 回复(0)
import sys

t = int(input())

for i in range(t):
    n,m=map(int,input().split())
    s=0
    for j in range(n):
        a=list(map(int,input().split()))
        s=s+sum(a)
    print(s)
发表于 2026-03-19 17:31:33 回复(0)
number = int(input())
for line in range(number):
    numbers = list(map(int, input().split()))
    result = 0
    for i in range(int(numbers[0])):
        numbers_result_list = list(map(int, input().split()))
        numbers_result = sum(numbers_result_list)
        result = result + numbers_result
    print(result)

发表于 2026-03-08 14:20:32 回复(0)
import sys

t = int(input())

for _ in range(t):
    n, m = map(int, sys.stdin.readline().strip().split())
    total_sum = 0
    for _ in range(n):
        numbers = list(map(int, sys.stdin.readline().strip().split()))
        total_sum += sum(numbers)

    print(total_sum)


发表于 2025-10-13 17:03:23 回复(0)
import sys
t=int(input())

for i in range(t):
    s=0
    n, m = map(int, input().split())
    for i in range(n):
        a=list(map(int,input().split()))
        s+=sum(a)
    print(s)
发表于 2025-08-30 22:13:54 回复(0)
func main() {
	var t int
	fmt.Scan(&t)

	for i := 0; i < t; i++ {
		var n, m int
		fmt.Scan(&n, &m)

		
		a := make([][]int, n)
		for i := 0; i < n; i++ {
			a[i] = make([]int, m)
		}

	
		for i := 0; i < n; i++ {
			for j := 0; j < m; j++ {
				fmt.Scan(&a[i][j])
			}
		}

		sum := int64(0)
		for i := 0; i < n; i++ {
			for j := 0; j < m; j++ {
				sum += int64(a[i][j])
			}
		}
		fmt.Println(sum)
	}
}

发表于 2025-08-20 09:15:20 回复(0)
a = int(input())
for i in range(a):
    d = 0
    b = input().split()
    for v in range(int(b[0])):
        c = list(map(int,input().split()))
        d += sum(c)
    print(d)

发表于 2025-06-24 19:49:22 回复(0)
#include <iostream>
using namespace std;

int main() {
    int n_groups = 0;
    std::cin >> n_groups;
    while (n_groups--) {
        int gro_r, gro_c = 0;
        long int ele_now, ele_next = 0;
        std::cin >> gro_r >> gro_c;
        for (int i_r = 0; i_r <= gro_r - 1;i_r++) {
            for (int i_c = 0; i_c <= gro_c - 1; i_c++) {
                std::cin >> ele_now;
                ele_next += ele_now;
            }
        }
        std::cout << ele_next << std::endl;
    }
}

发表于 2025-06-20 19:03:24 回复(0)
func main() {
	var t int
	fmt.Scan(&t)
	for t > 0 {
		var n, m int
		fmt.Scan(&n, &m)
		var a, s int
		for i := 0; i < n; i++ {
			for j := 0; j < m; j++ {
				fmt.Scan(&a)
				s += a
			}
		}
		fmt.Println(s)
		t--
	}
}

发表于 2025-05-22 16:58:29 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        for (int turn = 0; turn < t; turn++) {
            int n = sc.nextInt();
            int m = sc.nextInt();

            int[][] a = new int[n][m];
            long sum = 0;
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < m; j++) {
                    a[i][j] = sc.nextInt();
                    sum += a[i][j];
                }
            }
            System.out.println(sum);
        }
        sc.close();

    }
}
发表于 2025-04-28 16:02:29 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int s = in.nextInt();
        for(int i=0;i<s;i++){
            int n = in.nextInt();
            int m = in.nextInt();
            long sum = 0;
            for(int j =0;j<n;j++){
                for(int k=0;k<m;k++){
                    sum+=in.nextInt();
                }
            }
            System.out.println(sum);
        }
    }
}
发表于 2025-04-18 11:40:52 回复(0)