首页 > 蛇形矩阵
头像 我是一只小肚肚
发表于 2021-06-03 21:47:54
思路: 1.数组这样创建 因为数组的下标是从0开始,为了方便我便创建一个array[n+1][n+1]大的二维数组,这样我就可以不用管索引0,直接从坐标(1,1)开始.n的范围是[1,1000],所以创建二维数组array[1001][1001] (我不知道编译器是否支持变长数组,所以就保险起见把 展开全文
头像 桦秋静
发表于 2022-05-27 18:02:17
前言: 捣鼓了一个半小时才通过,有点烦,不过好在思路没啥大问题,分享一下~😋🤗 要是看不懂的话说明本作者表达水平太低🤣,那就别在我这浪费时间了,去看看别的牛油写的题解吧。[突然消失] 思路分析: row表示行,col表示列,mtr[row][col]表示当前在哪 展开全文
头像 玖鸠啾
发表于 2022-10-23 14:15:16
乱乱的分析过程感觉我这个比较好理解,基本30行解决问题经过画图发现都是反斜线输入,这时候就联想起i+j = n-1的条件,再发现以i+j = n - 1为分界线,前面的斜线分别是i + j = n-2,i+j = n-3.....后面的分别是i+j = n,i+j = n+1...以此类推,让cou 展开全文
头像 牛客103673359号
发表于 2022-04-02 00:07:04
每个颜色的折线表示一次大循环。 看图可知,这样难免会发生越界的情况, 所以给数组元素赋值时加个判断条件, 当行号和列号都不超过n时赋值,超过n时则不赋。 row为行号, col为列号, count为计数器,是每次给元素赋的值。 int main() { int n; scanf("% 展开全文
头像 Tender^
发表于 2021-12-06 18:57:00
#include<iostream> using namespace std; int main() { int a[1001][1001]; //定义存储蛇形矩阵的数组 int n; //尺度 cin >> n; 展开全文
头像 invictusfai
发表于 2020-05-05 10:50:15
首先分为2n-1次循环。每次循环会写入整个斜边的数字。斜边的方向有左下,右上。当循环次数k<=n时,当k为单数时,方向为右上,当k为双数时,方向为左下。当循环次数n<k<2*n-1时,当k为单数时,方向为右上,当k为双数时,方向为左下。 #include <stdio.h&g 展开全文
头像 zzfyupup
发表于 2022-06-21 15:58:56
#include<stdio.h> int main() { int i, j, n, k = 1; int a[100][100] = {0}; scanf("%d", &n); //输出上三角 for (i = 0; i < n; 展开全文
头像 人要学会珍惜
发表于 2022-04-30 16:21:38
import java.util.Scanner; public class Main {     public static void main(String[] args)&n 展开全文
头像 黎明rj
发表于 2020-02-08 21:29:33
寻找规律,迎刃而解 可以发现每一斜行的数字个数是由1递增至n再递减至1的,写每一斜行的数字递增方向都是固定的。 需要注意:1.对角线的左右两侧切换斜行时坐标变化不同           & 展开全文
头像 牛客558460775号
发表于 2022-06-15 23:38:36
一种可能最简的方法 #include<stdio.h> int main() { int n=4,vair=1,flag=-1; int array[50][50]= {0}; int cnt1=0,cnt2=0; scanf("%d",&n); //填充 展开全文