【HDOJ】1332 LC-Display
水题。
#include <cstdio>
#include <cstring>
#include <cstdlib> #define MAXN 11
#define LEFT 1
#define RIGHT 2
#define BOTH 3 char lcd[][MAXN][*MAXN++][MAXN++];
int rr[MAXN];
int cc[MAXN]; void addR(int x, int i, int j) {
int k; for (k=; k<cc[i]-; ++k)
lcd[x][i][j][k] = '-';
} void addC(int x, int i,int j, int v) {
if (v & LEFT)
lcd[x][i][j][] = '|';
if (v & RIGHT)
lcd[x][i][j][cc[i]-] = '|';
} void init() {
int i, j, k;
int n; for (i=; i<=; ++i) {
rr[i] = *i+;
cc[i] = i+;
} memset(lcd, ' ', sizeof(lcd)); for (k=; k<; ++k) {
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
lcd[k][i][j][cc[i]] = '\0';
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==rr[i]-) {
addR(n, i, j);
} else if (j == i+) {
/*do nothing*/;
} else {
addC(n, i, j, BOTH);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==i+ || j==rr[i]-) {
/*do nothing*/;
} else {
addC(n, i, j, RIGHT);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==i+ || j==rr[i]-) {
addR(n, i, j);
} else {
if (j < i+)
addC(n, i, j, RIGHT);
else
addC(n, i, j, LEFT);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==i+ || j==rr[i]-) {
addR(n, i, j);
} else {
addC(n, i, j, RIGHT);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==rr[i]-) {
/*do nothing*/;
} else if (j == i+) {
addR(n, i, j);
} else {
if (j < i+)
addC(n, i, j, BOTH);
else
addC(n, i, j, RIGHT);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==i+ || j==rr[i]-) {
addR(n, i, j);
} else {
if (j < i+)
addC(n, i, j, LEFT);
else
addC(n, i, j, RIGHT);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==i+ || j==rr[i]-) {
addR(n, i, j);
} else {
if (j < i+)
addC(n, i, j, LEFT);
else
addC(n, i, j, BOTH);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j==) {
addR(n, i, j);
} else if (j==i+ || j==rr[i]-) {
/*do nothing*/;
} else {
addC(n, i, j, RIGHT);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==i+ || j==rr[i]-) {
addR(n, i, j);
} else {
addC(n, i, j, BOTH);
}
}
} //
n = ;
for (i=; i<=; ++i) {
for (j=; j<rr[i]; ++j) {
if (j== || j==i+ || j==rr[i]-) {
addR(n, i, j);
} else {
if (j < i+)
addC(n, i, j, BOTH);
else
addC(n, i, j, RIGHT);
}
}
}
} void output(int n) {
int i, j, k; for (i=; i<; ++i) {
for (j=; j<rr[n]; ++j) {
printf("%s\n", lcd[i][n][j]);
}
printf("\n\n");
}
printf("output finish\n");
} int main() {
int n;
int i, j, k;
char s[]; #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif init();
//output(1); while (scanf("%d %s", &n, s) != EOF) {
if (n== && s[]=='' && s[]=='\0')
break;
for (j=; j<rr[n]; ++j) {
for (i=; s[i]; ++i) {
if (i)
printf(" %s", lcd[s[i]-''][n][j]);
else
printf("%s", lcd[s[i]-''][n][j]);
}
printf("\n");
}
printf("\n");
} return ;
}
【HDOJ】1332 LC-Display的更多相关文章
- 【HDOJ】4729 An Easy Problem for Elfness
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到 ...
- 【HDOJ】4605 Magic Ball Game
思路1:树状数组+离线处理,对所有的w离散化处理,边dfs边使用树状数组更新左右w的情况.思路2:主席树,边bfs边建树.结点信息存储cnt,然后在线查询.树状数组. /* 4605 */ #incl ...
- 【HDOJ】4601 Letter Tree
挺有意思的一道题,思路肯定是将图转化为Trie树,这样可以求得字典序.然后,按照trie的层次求解.一直wa的原因在于将树转化为线性数据结构时要从原树遍历,从trie遍历就会wa.不同结点可能映射为t ...
- 【HDOJ】4426 Palindromic Substring
综合性很强的一道题目,结合manacher,后缀数组,哈希,RMQ,二分可解.基本思路是通过manacher可以找到所有可能的回文串,哈希去重,后缀数组二分找数目.最后暴力求解.需要注意kth需要为_ ...
- 【HDOJ】3948 The Number of Palindromes
后缀数组求不重复回文子串数目.注意dp数组. /* 3948 */ #include <iostream> #include <sstream> #include <st ...
- 【HDOJ】4691 Front compression
后缀数组基础题目,dc3解. /* 4691 */ #include <iostream> #include <sstream> #include <string> ...
- 【HDOJ】2459 Maximum repetition substring
后缀数组+RMQ. /* 2459 */ #include <iostream> #include <sstream> #include <string> #inc ...
- 【HDOJ】1648 Keywords
PE的注意,如果没有满足条件的不输出空格.简单模拟,暴力解. /* */ #include <iostream> #include <sstream> #include < ...
- 【HDOJ】【3506】Monkey Party
DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cst ...
随机推荐
- java 中流的使用
Java中的流,可以从不同的角度进行分类. 一.按照数:输入流和输出流. 输出流: 输入流: 因此输入和输出都是从程序的角度来说的. 二.按照处理数据单位不同可以分为:字节流和字符流. 字节流和字符流 ...
- Linux系统下查看某文件修改的时间戳
Linux系统下查看某文件修改的时间戳查看文件时间戳命令:stat awk.txt File: `awk.txt' Size: 20 Blocks: 8 I ...
- SKSpriteNode类
继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架 /System/L ...
- DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解
DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解 说明:此文章中部分图片为网络搜集,所以不一定为DELL R720服务器安装界面,但可保证界面内容接近DELL ...
- MySQL(11):存储引擎
1.存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择 ...
- linux性能调优概述
- 什么是性能调优?(what) - 为什么需要性能调优?(why) - 什么时候需要性能调优?(when) - 什么地方需要性能调优?(where) - 什么人来进行性能调优?(who) - 怎么样 ...
- 快速优化yum (for centos5.5)
定义yum超时时间:vi /etc/yum.conftimeout=120 修改源:(全部复制粘贴即可)cd /etc/yum.repos.d/mv rhel-debuginfo.repo rhel- ...
- Freemarker常用技巧(二)
1 list.break指令<#list sequence as item> ...</#list>tem_index:当前变量的索引值.item_has_next:是否存在 ...
- 洛谷 P1412 经营与开发
/* 粘一下开始写的暴力吧 虽然没啥价值 */ #include<iostream> #include<cstdio> #include<cstring> #inc ...
- HBuilder开发app ajax跨域 解决XMLHttpRequest
<div id="a1" onclick="testXHR()" style="font-size: 5em;">sss1< ...