传送门

看到题后整个人成了mengbier

但是仔细分析一下就很简单了,先确定好输出的图的长和宽。

然后从输入的矩形的左上角的最下面的开始填充,顺序是从下到上,从左到右,从后往前。

填充的时候直接覆盖掉原先的就可以。

代码

#include <cstdio>
#include <iostream>
#define min(x, y) ((x) < (y) ? (x) : (y))
#define max(x, y) ((x) > (y) ? (x) : (y)) int n, m, N, M;
int a[51][51];
char map[1001][1001]; inline int read()
{
int x = 0, f = 1;
char ch = getchar();
for(; !isdigit(ch); ch = getchar()) if(ch == '-') f = -1;
for(; isdigit(ch); ch = getchar()) x = (x << 1) + (x << 3) + ch - '0';
return x * f;
} inline void print(int i, int j, int k)
{
int x, y;
x = (n - i) * 2 + (k - 1) * 3 + 1;
y = (n - i) * 2 + (j - 1) * 4 + 1; map[x + 4][y + 1] = '/';
map[x + 4][y + 5] = '/';
map[x + 1][y + 5] = '/'; map[x][y] = '+';
map[x + 3][y] = '+';
map[x][y + 4] = '+';
map[x + 3][y + 4] = '+';
map[x + 5][y + 2] = '+';
map[x + 5][y + 6] = '+';
map[x + 2][y + 6] = '+'; for(i = y + 3; i <= y + 5; i++) map[x + 5][i] = '-';
for(i = y + 1; i <= y + 3; i++) map[x][i] = '-', map[x + 3][i] = '-'; for(i = x + 3; i <= x + 4; i++) map[i][y + 6] = '|';
for(i = x + 1; i <= x + 2; i++) map[i][y] = '|', map[i][y + 4] = '|'; for(i = x + 1; i <= x + 2; i++)
for(j = y + 1; j <= y + 3; j++)
map[i][j] = ' ';
for(i = y + 2; i <= y + 4; i++) map[x + 4][i] = ' ';
for(i = x + 2; i <= x + 3; i++) map[i][y + 5] = ' ';
} int main()
{
int i, j, k;
n = read();
m = read();
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
{
a[i][j] = read();
N = max(N, (n - i) * 2 + a[i][j] * 3 + 3);
}
M = 4 * m + 2 * n + 1;
for(i = 1; i <= N; i++)
for(j = 1; j <= M; j++)
map[i][j] = '.';
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
for(k = 1; k <= a[i][j]; k++)
print(i, j, k);
for(i = N; i >= 1; puts(""), i--)
for(j = 1; j <= M; j++)
putchar(map[i][j]);
return 0;
}

  

[luoguP1058] 立体图(超级大模拟(¬︿̫̿¬☆))的更多相关文章

  1. js 模拟超级大LE透中头奖 统计中头奖需要购买的彩票次数以及购买总金额

    <!DOCTYPE html> <html> <head> <title>超级大LE透模拟</title> </head> &l ...

  2. HDU 5920 Ugly Problem 高精度减法大模拟 ---2016CCPC长春区域现场赛

    题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位 ...

  3. APU平台DirectX 12性能测试:超级大惊喜!

    APU平台DirectX 12性能测试:超级大惊喜! 转自:http://www.ithome.com/html/digi/129840.htm [size=1pc]微软将会在接下来的GDC 2015 ...

  4. AC日记——神奇的幻方 洛谷 P2615(大模拟)

    题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...

  5. ACdream 1188 Read Phone Number (字符串大模拟)

    Read Phone Number Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & %llu Sub ...

  6. 2016ACM-ICPC网络赛北京赛区 1001 (trie树牌大模拟)

    [题目传送门] 1383 : The Book List 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The history of Peking University ...

  7. 20亿与20亿表关联优化方法(超级大表与超级大表join优化方法)

    记得5年前遇到一个SQL.就是一个简单的两表关联.SQL跑了几乎相同一天一夜,这两个表都非常巨大.每一个表都有几十个G.数据量每一个表有20多亿,表的字段也特别多. 相信大家也知道SQL慢在哪里了,单 ...

  8. Bzoj1972: [Sdoi2010]猪国杀 题解(大模拟+耐心+细心)

    猪国杀 - 可读版本 https://mubu.com/doc/2707815814591da4 题目可真长,读题都要一个小时. 这道题很多人都说不可做,耗时间,代码量大,于是,本着不做死就不会死的精 ...

  9. (大模拟紫题) Luogu P1953 易语言

    原题链接:P1953 易语言 (我最近怎么总在做大模拟大搜索题) 分别处理两种情况. 如果只有一个1或0 直接设一个cnt为这个值,每次输入一个新名字之后把数字替换成cnt,最后cnt++即可. 注意 ...

随机推荐

  1. how-to-fix-fs-re-evaluating-native-module-sources-is-not-supported-graceful

    http://stackoverflow.com/questions/37346512/how-to-fix-fs-re-evaluating-native-module-sources-is-not ...

  2. Matlab实现Hough变换检测图像中的直线 分类: 图像处理 2014-06-14 22:07 641人阅读 评论(0) 收藏

    Hough变换的原理: 将图像从图像空间变换至参数空间,变换公式如下: 变换以后,图像空间与参数空间存在以下关系: 图像空间中的一点在参数空间是一条曲线,而图像空间共线的各点对应于参数空间交于一点的各 ...

  3. AngularJS开发最常犯的10个错误

    简介 AngularJS是目前最为活跃的Javascript框架之一,AngularJS的目标之一是简化开发过程,这使得AngularJS非常善于构建小型app原型,但AngularJS对于全功能的客 ...

  4. Matlab中size、numel、length、fix函数的使用

    size():获取矩阵的行数和列数  (1)s=size(A),      当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数. (2)[r,c]=size ...

  5. file.seek()

    语法:fileObject.seek(offset,whence) offset -- 开始的偏移量,也就是代表需要移动偏移的字节数 whence:可选,默认值为 0.给offset参数一个定义,表示 ...

  6. (转)淘淘商城系列——使用maven tomcat插件启动聚合工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72672389 上文我们一起学习了如何使用maven tomcat插件来启动web工程,本文我们 ...

  7. leetcode_238. Product of Array Except Self_思维

    https://leetcode.com/problems/product-of-array-except-self/ 给一个vector<int> nums,输出一个vector< ...

  8. A C compiler that parses this code will contain at least the following symbol table entries

    A C compiler that parses this code will contain at least the following symbol table entries Consider ...

  9. DEALLOCATE - 删除一个准备好的查询

    SYNOPSIS DEALLOCATE [ PREPARE ] plan_name DESCRIPTION 描述 DEALLOCATE 用于删除前面准备好的查询. 如果你没有明确 DEALLOCATE ...

  10. vim要粘贴的话,先set paste,然后粘贴,然后再set nopaste

    要粘贴的话,先set paste,然后粘贴,然后再set nopaste