代码编织梦想

稀疏数组就是数组中大部分内容都没有被使用(或都为0),在数组中仅有少部分空间使用,导致内存空间的浪费。

为了节省空间,现在将下列稀疏数组进行压缩。
数组为n行m列,存在一大部分是0表示该位置未被使用,非0则表示已经使用。
将所有非0元素按照(行下标、列下标、元素值)存储下来,完成稀疏数组的压缩。
输入格式:
第一行为两个整数n,m(1<=n,m<=50)
接下来n行,每行m个元素表示稀疏数组。
输出格式:
输出第一行先输出n,m,x。x表示非0元素数目 。接下来x行,每行输出行下标、列下标、元素值。
按照行下标从小到大的顺序输出,如果同一行按照列下标从小到大的顺序输出。
输入样例:
10 10
0 3 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 2 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 5 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 6 0 0
输出样例:
10 10 5
0 1 3
3 0 1
3 1 2
5 6 5
9 7 6

#include<stdio.h>
#include<string.h>
int main()
{
    int n,m,count=0;
    scanf("%d%d",&n,&m);
    int a[n][m];
    for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
    {
        scanf("%d",&a[i][j]);
        if(a[i][j]!=0)
        {
            count++;
        }
    } printf("%d %d %d\n",n,m,count);
    for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
    {
        if(a[i][j]!=0)
        {
            printf("%d %d %d\n",i,j,a[i][j]);
        }
    }
    
	return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_51442049/article/details/128013744

1034 Head of a Gang-爱代码爱编程

ac code #include<iostream> #include<vector> #include<cstdio> #include<algorithm> #include<map> #include<cstring> using namespace std; const in

【思特奇杯•云上蓝桥---算法训练营】蓝桥杯真题-门牌制作(Python)-爱代码爱编程

一,题目描述 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。 请问要制作所有的 1 到 2020

zzuli:1034夏季促销-爱代码爱编程

题目描述 商场夏季促销,购物500元以下,不打折;购物500元(含)以上,95折;购物1000元(含)以上,9折;购物3000元(含)以上,85折;购物5000元(含)以上,8折。根据消费金额,确定用户实际需要支付的数目。 输入 输入一个实数,表示消费金额。 输出 输出一个实数,表示用户实际需要支出的数目,保留两位小数。 样例输入 Copy

1034 有理数四则运算 (20 分)-爱代码爱编程

本题要求编写程序,计算 2 个有理数的和、差、积、商。 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。 输出格式: 分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个

蓝桥杯练习——YBH数数-爱代码爱编程

文章目录 前言一、题目二、思路 前言 这题感觉蓝桥杯测评系统有点问题 一、题目 二、思路 动态规划,DFS记忆化搜索。 1.状态:f[i]表示YBH[i]的最大值 2.下一个状态:由题意得,从YBH[i]可以有四种操作,YBH[i]–>YBH[i+4],YBH[i]–>YBH[i+5],YBH[i]–>YBH[4i

蓝桥杯备赛(十二)— 深度优先搜索DFS-爱代码爱编程

递归 递归三要素 确定递归函数的参数和返回值: 确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。确定终止条件确定单层递归的逻辑二叉树递归题集(估计不考二叉树) 337. 打家劫舍 III 124.二叉树中的最大路径和(困难) 112.路径总和 113.路径总和

蓝桥杯 第十三天 图算法-爱代码爱编程

目录 1.题目详情 - 1034 Head of a Gang (30 分) (pintia.cn) 2.题目详情 - 1076 Forwards on Weibo (30 分) (pintia.cn) 3.dijkstra 4.题目详情 - 1003 Emergency (25 分) (pintia.cn) (1)dijkstra解法 (

【PTA-乙级】1034-有理数四则运算-爱代码爱编程

阿这...从输入ctrl+v这个图片到写出这几句话,又看了若干时间手机= = 先给出我写出的解法吧 #include<iostream> using namespace std; #include<cmath> void huajian(long long& a, long long& b) { /

第十三届蓝桥杯2022各组完整真题(可评测)-爱代码爱编程

2022年第十三届蓝桥杯大赛软件类省赛题集链接 1.2022年第十三届蓝桥杯大赛软件类省赛C/C++大学A组真题 https://www.dotcpp.com/oj/train/1025/ 2.2022年第十三届蓝桥杯大赛软件类省赛C/C++大学B组真题 https://www.dotcpp.com/oj/train/1026/ 3.2022年

oj每日一题:1034 - 计算行程_deere.x的博客-爱代码爱编程

低碳生活,有氧运动。骑自行车出行是个好主意。小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数。在一次骑车旅行中,出发时计算器的票数为begin,到达目的地时的票数为出发时的3次方,d表示小明自行车轮子的直径(单位:米)。 输入 两个数,分别表示begin,d 输出 行驶多少公里(结果保留两位小数) import math begin,

p1034 [noip2002 提高组] 矩形覆盖 day20(ac100寄_伊吹琳琳子的博客-爱代码爱编程

三下乡好累呜呜 晚上还是回来补了这道昨天开的题 话说我好菜 这种题都要做半天 原因竟是我不会剪枝 hh 我真是个铸币 其实最开始看错题了  没看到k 想出来了一个理论:肯定我们一个矩形内只有两个点 挺好想的而且与本题无关 那就不证了 这题给的是有k的 那我们dfs时可以想:把n个点放进k个矩阵 这样就完了  对了还要判断重合 其实我最开始

郑州轻工业大学oj1034: 夏季促销_题目描述商场夏季促销,购物500元以下,不打折:购物500元(含)以上,95折;购物100-爱代码爱编程

题目描述 商场夏季促销,购物500元以下,不打折;购物500元(含)以上,95折;购物1000元(含)以上,9折;购物3000元(含)以上,85折;购物5000元(含)以上,8折。根据消费金额,确定用户实际需要支付的数目。  输入 输入一个实数,表示消费金额。 输出 输出一个实数,表示用户实际需要支出的数目,保留两位小数

蓝桥杯刷题四-爱代码爱编程

1.激光炸弹 二维前缀和的模板题 这里注意一下边长是R 矩形是(R-1)*(R-1) 并且坐标最大是5000 所以5001的轰炸就能炸完整个图了 所以要对这个做优化 不然会各种错误 #include <bits/stdc++.h> using namespace std; const int N=5e3+10; int sum[N][N

1034 自定义函数之数字分离-爱代码爱编程

题目描述 写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出"1 9 9 0"。 输入 一个四位数 输出 增加空格输出 样例输入复制 1990 样例输出复制 1 9 9 0 #include<iostream> #include<string.h> using namespac

pat乙级 1034 有理数四则运算-爱代码爱编程

#include<iostream> #include<vector> #include<string> #include<cmath> #include<algorithm> #include<bits/stdc++.h> using namespace std; #define

1034 有理数四则运算(java)_1034 有理数四则运算 java-爱代码爱编程

         本题要求编写程序,计算 2 个有理数的和、差、积、商。 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。 输出格式: 分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积