题目描述1978:ProblemB 排序

 
输入于一个m行m列的方阵,求其每一行,每一列及主对角线元素之和,最后按照从大到小的顺序依次输出。(1 < m < 10)

输入
共一组数据,输入的第一行为一个正整数,表示m,接下来的m行,每行m个整数表示方阵元素。

输出
从大到小排列的一行整数,每个整数后跟一个空格,最后换行。

样例输入
4
15 8 -2 6
31 24 18 71
-3 -9 27 13
17 21 38 69

样例输出
159 145 144 135 81 60 44 32 28 27

#include <iostream>
#include <algorithm>
using namespace std;bool cmp(int a, int b) {return a > b;
}
//计算行列元素的和,int axis = 0,计算列元素的和,axis = 1,计算行元素的和
//返回值K为当前,数组s[]的长度
int sum(int a[][10], int m, int axis, int s[], int k) {for (int i = 0; i < m; i++) {int sum = 0;for (int j = 0; j < m; j++) {if (axis == 1) sum += a[i][j];if (axis == 0) sum += a[j][i];}s[k++] = sum;}return k;
}
int main() {int m;while(cin >>m) {int a[m][10], s[2 * m + 2] = {0};for (int i = 0; i < m; i++) {for (int j = 0; j < m; j++) {cin >> a[i][j];}}int k = 0;k = sum(a, m, 1, s, k);k = sum(a, m, 0, s, k);//对角线元素的和for (int i = 0; i < m; i++) {s[k] += a[i][i];s[k + 1] += a[i][m - 1 - i];}sort(s, s + 2 * m + 2, cmp);for (int i = 0; i < 2 * (m + 1); i++) {cout << s[i];if (i < 2 * m + 1) cout << ' ';}cout << endl;}return 0;
}

C/C++[codeup 1978]排序相关推荐

  1. 问题 C: EXCEL排序 作业比赛编号 : 100000581 - 《算法笔记》4.1小节——算法初步->排序 Codeup

    问题 C: EXCEL排序 作业比赛编号 : 100000581 - <算法笔记>4.1小节--算法初步->排序 Codeup 注意: 1.姓名的字符长度为6,但是定义数组时,应为n ...

  2. codeup墓地目录(算法笔记习题刷题笔记)

    在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...

  3. codeup墓地目录

    代码内容为原创C++ 在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门 ...

  4. Contest100000581 - 《算法笔记》4.1小节——算法初步-排序

    文章目录 Contest100000581 - <算法笔记>4.1小节--算法初步->排序 1.讲解 4.1 .1 选择排序 4.1.2 插入排序 4.1.3 排序题与sort()函 ...

  5. python 使用sort()函数和正则表达式(lambda)对os.listdir()获取的文件夹文件列表进行重新排序 乱序排序

    # 排序函数,对文件列表进行排序 # 排序函数,对文件列表进行排序(filenames为文件夹文件的文件名的字符串列表) def sort_filenames(filenames):# (1)可以以l ...

  6. 数据结构(Java)-排序算法-选择排序

    选择排序: 选择排序也是一种简单的排序方法.它的基本思想是: 对于总共n个元素的数组arr: 第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换, 第二次从arr[1]~arr[n ...

  7. Codeup墓地-1123

    Codeup墓地-1123 src:http://codeup.cn/problem.php?id=1123 1123: 确定排序序列 时间限制: 1 Sec 内存限制: 32 MB 题目描述 一个由 ...

  8. 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)

    常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...

  9. python数据框元素的性质_Pandas基础:文件读取与写入、Series和Dataframe、常用基本函数、排序...

    import pandas as pd import numpy as np 查看Pandas版本 pd.__version__ 一.文件读取与写入 1.读取 (a)csv格式 df = pd.rea ...

  10. Pandas基础:文件读取与写入、Series和Dataframe、常用基本函数、排序

    文章目录 一.文件读取与写入 1.读取 (a)csv格式 (b)txt格式 (c)xls或xlsx格式 2. 写入 (a)csv格式 (b)xls或xlsx格式 二.基本数据结构 1.Series ( ...

最新文章

  1. 基于htmlparser实现网页内容解析
  2. JS正则限制价格输入 0.01~ 99999.99
  3. DDD“上吊绳驱动开发”,开发要想不被“吊死”,该如何自救?
  4. 工作290:js日期操作
  5. java 异步socket_java Socket读写异步分离
  6. springboot系列六、springboot配置错误页面及全局异常
  7. SQL Nexus Tool
  8. 2006公务员考试-杂七杂八常识(1)
  9. java 正则拼音,用于匹配拼音的正则表达式
  10. 10种令人吃惊的方式你的日常生活中正在收集数据的大数据野兽
  11. AWS DynamoDB基础使用
  12. 3650M5 IMM 配置升级
  13. AS 项目目录组成架构
  14. doraemon的python 函数与装饰器(哎呀,忘记传了)
  15. 绿幕抠图SDK技术对比
  16. 图像常用的插值算法:最近邻插值、双线性插值和双三次插值算法
  17. 8 Latters 英文歌词
  18. 游戏热血江湖 满线自动查询器制作游戏分析脱壳与查询器源码分享
  19. SystemVerilog基于覆盖率驱动验证技术(CDV)和生成-查看覆盖率报告
  20. 【Y忍冬草】Qt之客户端实现数据的接收和发送

热门文章

  1. Java使用Cipher类实现加密,包括DES,DES3,AES和RSA加密
  2. Android实现计算器布局(相对布局)
  3. 小程序 ---- (setData关于赋值对象属性的问题)
  4. dedecms联动筛选_织梦dedecms图片联动筛选教程
  5. java的datatype_java基本数据类型--Basic Datatypes
  6. mysql编译安装原理_Mysql源码编译安装主从复制
  7. 外包以小时计算金额的费用_全了!各大税种的计算公式,建议收藏!
  8. 事务Transaction
  9. Innodb 的事物隔离级别实现原理(一)
  10. LINUX Cacti 安装SOP FOR CentOS6.5