POJ C程序设计进阶 编程题#1:计算矩阵边缘之和

编程题#1:计算矩阵边缘元素之和

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。

输入

第一行为整数k,表示有k组数据。

每组数据有多行组成,表示一个矩阵:

第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以空格分隔。

接下来输入的m行数据中,每行包含n个整数,整数之间以空格作为间隔。

输出

输出对应矩阵的边缘元素和,一个一行。

样例输入

2

4 4

1 1 1 1

0 0 0 0

1 0 1 0

0 0 0 0

3 3

3 4 1

3 7 1

2 0 1

样例输出

5

15


#include<iostream>
#include<stdio.h>
using namespace std;

int main() {
    int k, l, t;
    cin >> k;
    while (k > 0) {
        int m, n, i, j;
        int sum = 0;
        cin >> m >> n;
        for (i=0; i < m; i++)
        {
            for (j=0; j < n; j++)
            {
                cin >> t;
                if (i==0||i==m-1||j==0||j==n-1) {
                    sum += t;
                }
            }
        }
        cout << sum << endl;
        k--;
    }
    return 0;
}
时间: 2024-10-23 05:51:18

POJ C程序设计进阶 编程题#1:计算矩阵边缘之和的相关文章

POJ C程序设计进阶 编程题#3:运算符判定

编程题#3:运算符判定 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 两个整数 a 和 b 运算后得到结果 c.表示为:a ? b = c,其中,?可能是加法 +,减法 -,乘法 *,整除 / 或 取余 %.请根据输入的 a,b,c 的值,确定运算符.如果某种运算成立,则输出相应的运算符,如果任何运算都不成立,则输出 error. 例如: 输入: 3,4,5 输出: er

POJ C程序设计进阶 编程题#2:字符串中次数第2多的字母

编程题#2:字符串中次数第2多的字母 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一串长度不超过500个符号的字符串,输出在串中出现第2多的英语字母(大小写字母认为相同)和次数(如果串中有其它符号,则忽略不考虑).如果有多个字母的次数都是第2多,则按串中字母出现的顺序输出第1个. 例 ab&dcAab&c9defgb 这里,a 和 b都出现3次,c和d都出现2

POJ C程序设计进阶 编程题#5:细菌分组实验

编程题#5:细菌实验分组 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 有一种细菌分为A.B两个亚种,它们的外在特征几乎完全相同,仅仅在繁殖能力上有显著差别,A亚种繁殖能力非常强,B亚种的繁殖能力很弱.在一次为时一个 小时的细菌繁殖实验中,实验员由于疏忽把细菌培养皿搞乱了,请你编写一个程序,根据实验结果,把两个亚种的培养皿重新分成两组. 输入 输入有多行,第一行为整数n(

POJ C程序设计进阶 编程题#4:寻找平面上的极大点

编程题#4:寻找平面上的极大点 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个平面上,如果有两个点(x,y),(a,b),如果说(x,y)支配了(a,b),这是指x>=a,y>=b; 用图形来看就是(a,b)坐落在以(x,y)为右上角的一个无限的区域内. 给定n个点的集合,一定存在若干个点,它们不会被集合中的任何一点所支配,这些点叫做极大值点. 编程找出所有的极大

POJ C程序设计进阶 编程题#3:寻找山顶

编程题#3:寻找山顶 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个m×n的山地上,已知每个地块的平均高程,请求出所有山顶所在的地块(所谓山顶,就是其地块平均高程不比其上下左右相邻的四个地块每个地块的平均高程小的地方). 输入 第一行是两个整数,表示山地的长m(5≤m≤20)和宽n(5≤n≤20). 其后m行为一个m×n的整数矩阵,表示每个地块的平均高程.每行的整数

POJ C程序设计进阶 编程题#2: 配对碱基链

编程题#2: 配对碱基链 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌呤(G).胸腺嘧啶(T)和胞嘧啶(C).我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对.你的任务就是根据一条单链上的碱基序列,给出对应的互补链上

POJ C程序设计进阶 编程题#1:含k个3的数

编程题#1:含k个3的数 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 输入二个正整数m 和 k,其中1 < m < 100000,1 < k <5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO. 例如,输入: 43833 3 满足条件,输出YES 如果输入 39331 3 尽管有3个3,但不能被19整除,也不满足条

POJ C程序设计进阶 编程题#6:流感传染

编程题#6:流感传染 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着.在第一天,有些房间里的人得了流感,以后每天,得流感的人会使其邻居传染上流感,(已经得病的不变),空房间不会传染.请输出第m天得流感的人数. 输入 第一行一个数字n,n不超过100,表示有n*n的宿舍房

POJ C程序设计进阶 编程题#1:寻找下标

编程题#1:寻找下标 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 已知一个整数数组x[],其中的元素彼此都不相同.找出给定的数组中是否有一个元素满足x[i]=i的关系,数组下标从0开始. 举例而言,如果x[]={-2,-1,7,3,0,8},则x[3] = 3,因此3就是答案. 输入 第一行包含一个整数n (0 < n < 100),表示数组中元素的个数. 第二行包含