请求julao支援,不知道错在哪了
查看原帖
请求julao支援,不知道错在哪了
419652
MOXCOOT楼主2021/7/30 21:56

先看左边能不能填,不能填的话就填下面。


#include<iostream>
#define NUM 500
using namespace std;
int main() {
	int n, a[NUM], map[NUM][NUM] = { 0 };
	pair <int, int >p;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> map[i][i];
		p.first = i;
		p.second = i;
		for (int j = 1; j < map[i][i]; j++) {
			if (p.second > 1 && (!map[p.first][p.second - 1])) {//左边没有数字
				p.second--;;
				map[p.first][p.second] = map[i][i];
			}
			else {//左边没有数字则向下移
				p.first++;
				map[p.first][p.second] = map[i][i];
			}
		}
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= i; j++) {
			cout << map[i][j];
			if (j != i)cout << ' ';
		}
		cout << endl;
	}
}
2021/7/30 21:56
加载中...