题解 1097: 蛇行矩阵

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

1097: 蛇行矩阵(c语言)(二维数组)

分析:解题思路:先算出第一列的数,再通过第一列的数依次算出后面的数,设间距为k,a[i][j]=a[i][j-1]+k;注意事项:换行后的k值初始化为前一行同列的k值加一,引入变量b参考代码:#includeintmain(){intn,

我觉得我的方法是最简单的

解题思路:该题目的思路是套用两次for循环把结果输出,具体方法是首先找出每一行的规律,也就是first=first+j+k,比如第一行相邻两个数的差是2345,那么下一行就需要比上一行多1下一行就变成345,所以需要一个变量k从0开始随着外循环每次都加1,至此,每行的顺序就拍好了。

蛇行 规律

解题思路:总而言之是找规律,先创建一个存放数据的数组,然后开始找规律,按照蛇形的规律可以发现i==0andj!=0时n1[i][j]=n1[i][j-1]+j+1;i==0andj!=0时n1[i][j]=n1[i][j-1]+j+1然后再用已知的数据带入就可以得到我们需要的数据了,

2个for完事的模拟

摘要:解题思路:思考一下蛇形的关系,斜着看,用i来代表行(第i行有i个元素)注意事项:参考代码:#include <bits/stdc++.h> using namespace std; int arr……

1097: 蛇行矩阵 java

-思路模拟该矩阵的形成过程即可![](/image_editor_upload/20220226055611_39887.png)可以发现数据是按照这个方向逐渐累加,并且在此方向上每层数字数也是逐层累加-生成一个二维数组存储一个蛇形矩阵-然后根据它的规律模拟此矩阵-代码```javaimportjav

不是最简单的,但肯定是最容易理解的

解题思路:一个双重for循环就行了,第一行有特殊规律,先定义好第一行就行了,其余行列位置都其等于右上角的数减1。注意事项:注意循环顺序,要使该位置用右上角的数,而不能使用其左下角的数参考代码:whileTrue:try:N=int(input())F=[[0for_inrange(N)]for_inr

最简单易懂的

摘要:解题思路:注意事项:参考代码:#include <stdio.h> //N为总行数,rows为第几行,打印该行数据void printN(int N, int rows){ int first=1;……

7行代码解决蛇行矩阵(Python)

##解题思路:用二维数组来解决比较简单粗暴,把所有的结果都存入数组中首先初始化一下数组给他存个1,后面计算都是利用这个1进行第一步先解决纵列,一个加数是上一列的数,另一个加数是第几次处理我们把第几次处理看作i,写一个循环所以就有了下面的代码```num=int(input())ls=[[1]]fori