首页 > 试题广场 >

单组_二维数组

[编程题]单组_二维数组
  • 热度指数:22409 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个 nm 列的二维正整数数组 \{a_{i,j}\},其中 1 \leqq i \leqq n1 \leqq j \leqq m,且 1 \leqq a_{i,j} \leqq 10^9
\hspace{15pt}请计算数组中所有元素之和。

输入描述:
\hspace{15pt}在一行上输入两个整数 n,m \left(1 \leqq n,m \leqq 10^3\right)
\hspace{15pt}接下来 n 行,每行输入 m 个整数 a_{i,1},a_{i,2},\dots,a_{i,m} \left(1 \leqq a_{i,j} \leqq 10^9\right)


输出描述:
\hspace{15pt}输出一个整数,表示二维数组所有元素之和。
示例1

输入

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

输出

78
a,b = map(int,input().split())
lists = []

for i in range(0,a):
    c = list(map(int,input().split()))
    lists = lists + c

print(sum(lists))
发表于 2024-09-08 22:57:02 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        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];
            }
        }

        sc.close();
        System.out.print(sum);

    }
}
发表于 2025-04-28 15:59:25 回复(1)
a , b = map(int,input().split())
sum_  = 0
for i in range(a):
    ls = list(map(int,input().split()))
    sum_ += sum(ls)
print(sum_)

发表于 2025-09-27 23:00:32 回复(0)
#include <iostream>
using namespace std;

int main() {
    unsigned long long int sum = 0,temp;
    int m,n;
    cin >> n >> m;
    //真的有用数组存储的必要吗
    for(int i = 0; i < n * m ; i++){
        cin >> temp;
        sum += temp;
    }
    cout << sum << endl;
    return 0;
}

发表于 2025-10-05 17:58:07 回复(0)
n,m=map(int,input().split())
count=0
for i in range(n):
    hang=list(map(int,input().split()))
    count+=sum(hang)
print(count)    

发表于 2025-09-26 11:44:00 回复(0)
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    int a[n][m];
    for (int  i = 0; i < n; i++) {
        for (int  j = 0; j  < m; j++) {
            cin >> a[i][j];
        }

    }
    long long sum = 0;      //这里要longlong,后面很大
    for (int  i = 0; i < n; i++) {
        for (int j = 0; j < m ; j++) {
            sum += a[i][j];
        }

    }
    cout << sum;

}
发表于 2025-09-25 22:31:52 回复(1)
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;

    vector<vector<int>> arr(n, vector<int>(m));

    for(int i = 0;i < n;i++){
        for(int j = 0;i < m;j++) {
            cin >> arr[i][j];
        }
    }

    long sum = 0;

    for(int i = 0;i < n;i++){
        for(int j = 0;i < m;j++) {
            sum += arr[i][j];
        }
    }

    cout << sum << endl;

    return 0;
}

运行超时
您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
发表于 2025-09-18 20:36:39 回复(0)
java 使用双重for循环
发表于 2025-09-02 11:14:07 回复(0)
func main() {
    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:07:56 回复(0)
大家为了卷时间,真的是玩出花样来了
发表于 2025-08-14 15:12:09 回复(0)
using System;
using System.Linq;
public class Program {
    public static void Main() {
    string[]  input = Console.ReadLine().Split();
    int n = int.Parse(input[0]);
    int m = int.Parse(input[1]);

    long total = 0;
    for(int i=0 ; i<n ; i++ ) {
        //读取一行数据并将其转换为整数数组
    int[] row = Console.ReadLine().Split().Select(int.Parse).ToArray();
    //将当前行的所有元素累加到总和
    foreach(int num in row){
        total = total+num;
    }
    }
       Console.WriteLine(total);      
    }
}
发表于 2025-07-31 21:02:07 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
            int n =in.nextInt();
            int m = in.nextInt();
        int[][] a = new int[n][m];
            for(int i=0;i<n;i++){
                for(int j=0;j<m;j++){
                    a[i][j]=in.nextInt();
                }
            }
                     long  all=0;
            for(int k=0;k<a.length;k++){
                for(int q =0;q<a[k].length;q++){
                   
                    all+=a[k][q];
                }
            }
            System.out.print(all);

    }
}
发表于 2025-07-29 17:22:33 回复(0)
#include <stdio.h>
int main() {
    int a[1000][1000];
    int row, col, sum = 0;
    scanf("%d %d", &row, &col);
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            scanf("%d", &a[i][j]);
            sum = sum + a[i][j];
        }
    }
    printf("%d", sum);
    return 0;
}
发表于 2025-07-21 22:42:13 回复(0)
n , m = map(int ,input().split())
s = 0
for  i in range(n):

    a = map(int,input().split())
    su = sum(a)
    s = s + su
print(s)
发表于 2025-07-21 15:58:03 回复(0)
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    long int  sum =0;
    long int t = 0;
    for(int i=0;i<=n-1;i++)
    {
        for(int j=0;j<=m-1;j++)
        {
            cin >> t;
            sum += t;
        }
    }
    cout << sum;
}
然而根本用不到数组
发表于 2025-07-16 10:21:22 回复(0)
n, m = map(int, (input().split()))
sn = 0

for i in range (n):
    ai = map(int, input().split())
    sn += sum(ai)

print(sn)

///
n, m = map(int, input().split())
sn = []

for i in range (n):
    ai = list(map(int, input().split()))
    sn = sn + ai

sn = sum(sn)

print(sn)
发表于 2025-07-15 21:21:42 回复(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 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            int m = in.nextInt();
            long[][] Matrix = new long[n][m];
            long sum = 0;
            for(int i = 0;i < n;i++){
                for(int j = 0;j < m;j++){
                    Matrix[i][j] = in.nextInt();
                    sum += Matrix[i][j];
                }
            }
            System.out.println(sum);
        }
    }
}
发表于 2025-07-08 14:53:56 回复(0)
...除去输入的m,n,剩下每次都+=不就是答案吗
发表于 2025-07-02 15:10:13 回复(0)
#include <iostream>
using namespace std;

int main() {
    int row, column = 0;
    long int elem_now, elem_next = 0;
    std::cin >> row >> column;
    for (int i_r = 0; i_r <= row - 1;i_r++) {
        for (int i_c = 0;i_c <= column - 1; i_c++ ) {
            std::cin >> elem_now;
            elem_next += elem_now;
        }
    }
    std::cout << elem_next << std::endl;
}

发表于 2025-06-20 18:46:13 回复(0)
import sys
n, m = map(int, input().split())
sum_number = 0
for line in sys.stdin:
    sum_number = sum_number + sum(list(map(int, line.split())))
print(sum_number)
发表于 2025-06-18 20:19:17 回复(0)