首页 > 其他分享 >DHU OJ 二维数组 杨辉三角

DHU OJ 二维数组 杨辉三角

时间:2024-08-13 23:27:36浏览次数:7  
标签:OJ int C++ 二维 数组 杨辉三角 new DHU 动态

思路及代码

//input T,int 1<= <=20
//input T 组 n
#include<iostream>
using namespace std;
int main(){
    int T;
    cin >> T;
    int n;
//create n = 20 杨辉三角
    int **p = new int*[20];
    for (int i = 0; i <= 19; i++){
        p[i] = new int[i+1];
    }
    p[0][0] = 1;
    p[1][0] = 1;
    p[1][1] = 1;
    for (int row = 2; row <= 19; row++){
        p[row][0] = 1;
        for (int col = 1; col <= row-1; col++){
            p[row][col] = p[row-1][col-1] + p[row-1][col];
        }
        p[row][row] = 1;
    }
//output 对应杨辉三角
    while(--T >= 0){
        cin >> n;
        for (int row = 0; row <= n-1; row++){
            for (int col = 0; col <= row-1; col++){
                cout << p[row][col] << ' ';
            }
            cout << p[row][row] << endl;
        }
        cout << endl;
    }
    return 0;
}

参考: 1️⃣C++建立动态二维数组_c++动态二维数组定义-CSDN博客

2️⃣ C++ new申请二维动态数组详解_c动态创建二维数组new-CSDN博客

3️⃣ C++程序 打印2D数组|极客笔记

收获:1️⃣ 建立动态二维数组

//申请空间
int **p = new int*[5];       //分配一个大小为5的指针数组,将其首地址保存在p中 
for (int i=0; i <= 4; i++){  //为指针数组的每个元素分配一个大小为3的数组
     b[i] = new int[i];  
} 
//至此构造了一个下图空间的动态二维数组
*
**
***
****
*****

动态二维数字赋值

//使用空间
for(int i = 0; i <= 4; i++){
	for(int j = 0; j <= i-1; j++){
		a[i][j] = ...//赋值略
    }
}

按行输出二维数组 两次 for 循环

菜菜,不是教程,做题和学习记录

标签:OJ,int,C++,二维,数组,杨辉三角,new,DHU,动态
From: https://blog.csdn.net/jtymyxmz/article/details/141144966

相关文章

  • [lnsyoj2256]消除游戏
    题意给定序列\(a\),每次可以选择其中长度\(>m\)且完全相同的一段并删除,并将序列的剩余部分拼合成一段;或在任意位置插入一个数。求最终将序列\(a\)清空的最小操作数sol很显然,本题的插入操作是为了能够使一段数能够凑够\(m\)个,因此我们可以只考虑删除操作,只在操作上下手脚......
  • [lnsyoj4079/luoguP6899]Pachinko
    题意一个包括空地、障碍和空洞的\(H\timesW\)地图,从第一列随机选取空地作为起始位置,到达某个空洞后停止运动。给定向上下左右移动的概率比\(p_u:p_d:p_l:p_r\),求在每个空洞停止运动的概率为多少。sol由于每次到达空洞后即会停止运动,因此到达空洞的期望次数即为到达每个空洞......
  • [题解 hduoj-7522] 2024HDU 暑假多校7 - cats 的最小生成树
    原题链接题意有一个有重边的无向图,每次找到它的最小生成树,并删除生成树的边,直到不存在最小生成树,问被每条边在第几次被删除.思路考虑用类似Kruskal算法,但是是遍历一遍所有边,同时处理出来所有的生成树.具体这样做:如Kruskal一样,把所有边按边权排序,......
  • jzoj8132 扔骰子
    jzoj8132扔骰子题面传送门扔\(n\)个骰子,第\(i\)个有\(a_i\)个面,数值为\(1\)∼\(a_i\),求扔出点数最大值的期望。先将\(a_i\)排序。则对于\(Max=[a_{i-1}+1,a_i]\),有\(n-i+1\)个位置对\(Max\)有影响。此时,最大值为\(Max\)的概率为:后\(n-i+1\)个都小于等于......
  • 新手常见错误:Language level is invalid or missing in pom.xml. Current project JDK
    目录Blue留声机:分析报错 Blue留声机:今天开一个maven的时候遇到这样一个报错,这个报错对于我来言是一个并不陌生的报错,早期学习spring框架的时候,遇到过这个问题,当时怎么也弄不出来(现在想想那个时候的我真菜),现在却对这种问题的解决游刃有余。好了,不多bb了,看看我一般处理bu......
  • 单向链表 - OJ
    题目一:删除链表中等于给定值val的所有节点。 203.移除链表元素-力扣(LeetCode)【思路】:可以先想想只删除一个val怎么删的。publicListNoderemoveElements(ListNodehead,intval){//链表为空if(head==null){returnhead;......
  • UOJ #712. 【北大集训2021】简单数据结构
    Description你有一个长度为\(n\)的序列\(a\),下面你要进行\(q\)次修改或询问。给定\(v\),将所有\(a_i\)变为\(\min(a_i,v)\)。将所有\(a_i\)变为\(a_i+i\)。给定\(l,r\),询问\(\sum_{i=l}^ra_i\)。\(1\leqn,q\leq2\times10^5,0\leqa_i,v_i\leq10^{12}......
  • 杨辉三角 C++实现
    给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。classSolution{public:vector<vector<int>>generate(intnumRows){vector<vector<int>>vv;vv.resize(numRows);......
  • [开题报告]FLASK框架图书馆座位预约系统oj14m(源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高校教育规模的不断扩大,图书馆作为知识资源与学习空间的核心,其座位资源的有效管理日益成为关注焦点。传统的先到先得模式不仅容易导致......
  • 二叉树基础OJ题
    前言二叉树学到现在,我们对递归已经一定程序上的理解了,所有这里为了加深我们对二叉树递归的掌握,我会分享几道基础的练习题来巩固加深我们对二叉树的理解这里拿出一些二叉树OJ题,我会写出过程详解,如有错误还望指正!题源来自于牛客网和力扣单值二叉树这题需要判断每个节点的值......