牛客NOIP暑期七天营-普及组4-B火龙果图
火龙果图
https://ac.nowcoder.com/acm/contest/928/B
题目大意:已知一个由立方体搭建的长宽高都不超过n的图像每个位置立方体的数量,输出三视图,看到立方体输出*,否则输出.
正视图:第一列的*数量,取决于第一列的最大立方体数量,第2-n列以此类推。
左视图:第一列的*数量,取决于第一行的最大立方体数量,第2-n列于对应的2-n行的最大值相关。
俯视图:有立方体就是*,否则是.
注意输出顺序,先输出第一行,也就是先输出最高的,循环从大到小。
#include <stdio.h> int n, m, i, j, k, p[1005][1005]; int gao[1005], zuo[1005]; int main(){ scanf("%d", &n); for(i=1; i<=n; i++){ for(j=1; j<=n; j++){ scanf("%d", &p[i][j]); if(p[i][j] > gao[j]) gao[j] = p[i][j]; if(p[i][j] > zuo[i]) zuo[i] = p[i][j]; } } for(i=n; i>=1; i--){//高 for(j=1; j<=n; j++){ printf("%c", gao[j]>=i?'*':'.'); } printf("\n"); } for(i=n; i>=1; i--){//高 for(j=1; j<=n; j++){ printf("%c", zuo[j]>=i?'*':'.'); } printf("\n"); } for(i=1; i<=n; i++){ for(j=1; j<=n; j++){ printf("%c", p[i][j]?'*':'.'); } printf("\n"); } return 0; }