NYOJ练习题 下三角矩形 (模拟)
下三角矩阵
- 描述
-
给定一个由0和1组成的矩阵。只允许交换相邻的两行,要把矩阵转化成下三角矩阵(主对角线上方的元素都是0),最少需要交换几次?输入的矩阵保证总能转化成下三角矩阵。
- 输入
-
多组测试数据。
每组测试数据第一行为一个整数n(1 <= n < 1000),表示矩阵的大小为n*n;
接下来n行,每行有n个数表示这个矩阵。 - 输出
- 输出最小需要交换的次数,单独占一行。
- 样例输入
-
3 0 0 1 1 0 0 0 1 0
- 样例输出
-
2
-
分析可知:构成下三角矩阵实际上只与每行的最后一个非零位置有关。
先找出矩阵中每行的最后一个非零位置,然后根据最后一个非零位置将其移动到对应的位置即可,从第一行开始,每一次移动符合条件的最邻近的一行,之后此行将不再考虑,记录移动的次数即为最少的次数。
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; int a[1005][1005]; //记录矩阵 int c[1005]; // 记录每一行最后一个非零的数所在位置 int main() {int n, i, j, k;while(~scanf("%d",&n)){memset(c,0,sizeof(c));for(i = 1; i <= n; i++){for(j = 1; j <= n; j++){scanf("%d",&a[i][j]);if(a[i][j])c[i] = j; //记录每一行最后一个非零的数所在位置}}int ans = 0; //交换次数for(i = 1; i <= n; i++) //从第一行开始找{int pos = 0;for(j = i; j <= n; j++) //找与当前行最邻近的满足条件的行{if(c[j] <= i){pos = j;break;}}for(k = pos; k > i; k--){swap(c[k],c[k-1]);ans++;}}printf("%d\n",ans);}return 0; }
NYOJ练习题 下三角矩形 (模拟)相关推荐
- Python九九乘法表(矩形、上三角、下三角)
一.矩形 实质上这两种方法是一样的,只不过方法一中s的作用相当于方法二中end=' '的作用 #方法一 for i in range(1,10):for j in range(1,10):print ...
- Delphi下利用WinIo模拟鼠标键盘详解
本文最早在编程论坛上发表,文章地址:http://programbbs.com/bbs/view12-17207-1.htm,相关文件可以在上述地址的页面中下载.转载时请注明出处. 前言 一日发现Se ...
- 很好的理解梯度 散度 旋度 下三角运算 费曼物理讲义
很好的理解梯度 散度 旋度 下三角运算 费曼物理讲义 https://www.zhihu.com/question/24074028/answer/26657334 英文版本 https://www ...
- linux下IO口模拟I2C的一些总结
2019独角兽企业重金招聘Python工程师标准>>> 以前一直在用I2C接口,因为总是有线程的例子就一直没有去深入的了解,今天分析了一下在linux下通用GPIO模拟I2C的程序. ...
- java 回车 按钮事件,java--键盘事件类,按下回车则模拟鼠标
import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.JButton; import ...
- 杨辉三角(下三角或者等腰三角)
//杨辉三角(下三角或者等腰三角) #include <stdio.h> int fun(int i,int j) { if(i==j||1==j) return 1; else retu ...
- linux下使用TC模拟弱网络环境
linux下使用TC模拟弱网络环境 模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟 ...
- 当前超级计算机的应用方兴未艾,四川省若尔盖县高三下学期语文模拟卷(五)
四川省若尔盖县高三下学期语文模拟卷(五) 姓名:________ 班级:________ 成绩:________ 一.选择题 (共3题:共6分) 1. (2分)(2017·海南模拟) 下列各句中划线成 ...
- 【数据结构算法】二:上三角、下三角中求数组地址--【下标的计算】
一.三角矩阵的概念 以主对角线划分三角矩阵有下三角矩阵和上三角矩阵 下三角矩阵:矩阵(除主对角线)的上三角部分的值均为一个常数C或者0 上三角矩阵:与下三角矩阵相反 图示:(图中蓝色主对角线部分元素( ...
最新文章
- Django - - 进阶 - - 同源策略和跨域解决方案
- 0x000000f怎么修复 win10_win10无法启动也能进安全模式?用这个方法就OK
- spring中@Value的注解解析
- 一起谈.NET技术,通过16道练习学习Linq和Lambda
- jQuery多库共存问题解决方法
- 数据库对数字不限长度的冒泡排序
- 线程池是如何复用的?
- 量子计算机能让科技发展有多快,量子计算机有多快?
- leetcode算法题解(Java版)-16-动态规划(单词包含问题)
- Cilium架构:提供并透明地保护应用程序工作负载之间的网络连接和负载平衡
- linux数据库redis主从配置,redis介绍及主从配置
- pdf文件旋转后怎么完整保存
- 鹰信 UC 登录状态同步方法
- Oracle EBS 笔记8
- 教孩子学习乘法和除法,我算是绞尽脑汁了
- 常用的分析管理工具方法【整理】
- java面试题----选择题02
- 2021长安“战疫”网络安全卫士守护赛 misc部分writeup
- 用户聊天记录存储表(亿级别)优化及分片策略
- vbs版的语音报时程序
热门文章
- 用JScript.net写.net应用程序(转)
- webpack加载postcss,以及autoprefixer的loader
- php pdo预处理语句与存储过程
- IOS 应用官方接口地址
- 在项目开始前,为客户做专门的“需求变更流程”培训是必要的
- Posterior decompression
- extra energy theory
- HOW TO ORDER LFT
- we need to have frequent contact for relationships for transferring from aca to career
- target evaluations