C. Cardiogram
time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

In this problem, your task is to use ASCII graphics to paint a cardiogram.

A cardiogram is a polyline with the following corners:

That is, a cardiogram is fully defined by a sequence of positive integers a1, a2, ..., an.

Your task is to paint a cardiogram by given sequence ai.

Input

The first line contains integer n (2 ≤ n ≤ 1000). The next line contains the sequence of integers a1, a2, ..., an (1 ≤ ai ≤ 1000). It is guaranteed that the sum of all ai doesn't exceed 1000.

Output

Print max |yi - yj| lines (where yk is the y coordinate of the k-th point of the polyline), in each line print characters. Each character must equal either « / » (slash), « \ » (backslash), «» (space). The printed image must be the image of the given polyline. Please study the test samples for better understanding of how to print a cardiogram.

Note that in this problem the checker checks your answer taking spaces into consideration. Do not print any extra characters. Remember that the wrong answer to the first pretest doesn't give you a penalty.

Sample test(s)
Input
5
3 1 2 5 1
Output
      / \     
 / \ /  \
 /  \
 /  \
\ / 
Input
3
1 5 1
Output
 / \     
\
\
\
\ / 
Note

Due to the technical reasons the answers for the samples cannot be copied from the statement. We've attached two text documents with the answers below.

http://assets.codeforces.com/rounds/435/1.txt

http://assets.codeforces.com/rounds/435/2.txt

//includes
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <set>
#include <queue>
#include <stack>
#include <map>
#include <list>
#include <utility>
#include <algorithm>
#include <cassert>

using namespace std;

//defines-general
typedef long long ll;
typedef long double ld;
#define to(a) __typeof(a)
#define fill(a,val)  memset(a,val,sizeof(a))
#define repi(i,a,b) for(__typeof(b) i = a;i<b;i++)

//defines-pair
typedef pair<int, int> pii;
typedef pair<long long, long long> pll;
#define ff first
#define ss second
#define mp make_pair

//defines-vector
typedef vector<int> vi;
typedef vector<long long> vll;
#define all(vec)  vec.begin(),vec.end()
#define tr(vec,it)  for(__typeof(vec.begin())  it = vec.begin();it!=vec.end();++it)
#define pb push_back
#define sz size()
#define contains(vec,x) (find(vec.begin(),vec.end(),x)!=vec.end())

int main()
{
     vector<pii > vals;
     char ans[][];
     repi(i, , )
     {
           repi(j, , ) ans[i][j] = ' ';
     }
     int n;
     cin >> n;
     int x=,y=;
     vals.pb(mp(x,y));
     int maxy=;
     int maxx=;
     int add = ;
     repi(i, , n)
     {
           int a;
           cin >> a;
           x+=a;
           y+=((i%==)?:-)*a;
           maxy = max(y,maxy);
           maxx = max(x,maxx);
           vals.pb(mp(x,y));
     }
     repi(i, , n+)
     {
           vals[i].ss = -*(vals[i].ss-maxy);
     }
     repi(i, , n+)
     {
           x = vals[i-].ff;
           y = vals[i-].ss;
           int x1 = vals[i].ff;
           int y1 = vals[i].ss;
           if(i%)
           {
                 for(int j = y1+; j<=y; j++)
                 {
                       ans[j-][x1-(j-y1)] = '/';
                 }
           }
           else
           {
                 for(int j = y+; j<=y1; j++)
                 {
                       ans[j-][x+(j-y-)] = '\\';
                 }
           }
     }
     int maxi = ;
     int maxj = ;
     repi(i, , )
     {
           repi(j, , )
           {
                 if(ans[i][j]!=' ')
                 {
                       maxi = max(i,maxi);
                       maxj = max(j,maxj);
                 }
           }
     }
     repi(i, , maxi+)
     {
           repi(j, , maxj+) printf("%c",ans[i][j]);
           cout << endl;
     }
//    for(pii temp:vals) cout << temp.ff <<" " << temp.ss << endl; cout << endl;
     return ;
}

Codeforces Round #249 (Div. 2) C. Cardiogram的更多相关文章

  1. 模拟 Codeforces Round #249 (Div. 2) C. Cardiogram

    题目地址:http://codeforces.com/contest/435/problem/C /* 题意:给一组公式,一组数据,计算得到一系列的坐标点,画出折线图:) 模拟题:蛮恶心的,不过也简单 ...

  2. Codeforces Round #249 (Div. 2) (模拟)

    C. Cardiogram time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  3. Codeforces Round #249 (Div. 2) C题,模拟画图 ----未解决!

    http://codeforces.com/contest/435/problem/C

  4. Codeforces Round #249 (Div. 2)B(贪心法)

    B. Pasha Maximizes time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  5. Codeforces Round #249 (Div. 2) A题

    链接:http://codeforces.com/contest/435/problem/A   A. Queue on Bus Stop time limit per test 1 second m ...

  6. Codeforces Round #249 (Div. 2) D. Special Grid 枚举

    题目链接: http://codeforces.com/contest/435/problem/D D. Special Grid time limit per test:4 secondsmemor ...

  7. Codeforces Round #249 (Div. 2) 总结

    D.E还是很难的.....C不想多说什么... A:提意:给出每一组人的个数,以及一次车载容量,求出最少需要多少次才能载走所有的人. water: http://codeforces.com/cont ...

  8. Codeforces Round #249 (Div. 2) A. Black Square

    水题 #include <iostream> #include <vector> #include <algorithm> using namespace std; ...

  9. Codeforces Round #249 (Div. 2) B. Pasha Maximizes

    看到题目的时候,以为类似插入排序,比较第i个元素和第i-1个元素, 如果第i个元素比第i-1个元素小,则不交换 如果第i个元素比第i-1个元素大,则交换第i个元素和第i-1个元素 继续比较第i-1个元 ...

随机推荐

  1. springcloud(三)

    雪崩效应 一.为什么需要 Hystrix? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC).为了保证其高可用,单个服务又必须集群部署.由于网络原因或者自身的原因,服 ...

  2. [RN] React Native 再按一次退出

    实现 React Native 再按一次退出 单页面: ... componentWillMount() { BackHandler.addEventListener('hardwareBackPre ...

  3. Problem 2 旅行计划 (travelling .cpp)———2019.10.6

    lth tql,lzpclxf tql Orz Problem 2 旅行计划 (travelling.cpp)[题目描述]小 Z 打算趁着暑假,开启他的旅行计划.但与其他同学不同的是,小 Z 旅行时并 ...

  4. nginx 反向代理之 proxy_redirect

    proxy_redirect 该指令用来修改被代理服务器返回的响应头中的Location头域和“refresh”头域. 语法结构为: proxy_redirect redirect replaceme ...

  5. HustOJ二次开发之隐藏菜单栏

    通过关键搜索: find / -name *nav.php 出现如下结果:/home/judge/src/web/template/ie/nav.php/home/judge/src/web/temp ...

  6. [转]【kafka】用 Docker 部署 Kafka

    ref : https://www.jianshu.com/p/7635ea96e53f 用 Docker 部署 Kafka   Kafka 简介 作为一个消息中间件,Kafka 以高扩展性.高吞吐量 ...

  7. maven 左边空了

    看一下maven: 解决方法:进入maven的配置,把maven的路径配置一下,就好了: 结果:

  8. [Web] mobx 异步操作

    转载自:https://www.jianshu.com/p/66dd328726d7 异步action action只能影响正在运行的函数,而无法影响当前函数调用的异步操作 .action 包装/装饰 ...

  9. salt-master命令详解

    **salt-master命令** 命令行官网学习网站:http://docs.saltstack.cn/ref/cli/index.html salt salt-call salt-cp salt- ...

  10. groupby 的妙用(注意size和count)

    Pandas的groupby()功能很强大,用好了可以方便的解决很多问题,在数据处理以及日常工作中经常能施展拳脚. 今天,我们一起来领略下groupby()的魅力吧. 首先,引入相关package: ...