【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 ...
随机推荐
- MySQL慢查询(二) - pt-query-digest详解慢查询日志
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- iOS8 Core Image In Swift:视频实时滤镜
iOS8 Core Image In Swift:自己主动改善图像以及内置滤镜的使用 iOS8 Core Image In Swift:更复杂的滤镜 iOS8 Core Image In Swift: ...
- 【解决】hive动态添加partitions不能超过100的问题
Author: kwu [解决]hive动态添加partitions不能超过100的问题,全量动态生成partitions超过100会出现例如以下异常: The maximum number of d ...
- java Serializable和Externalizable序列化反序列化详解--转
一.什么是序列化? “对象序列化”(Object Serialization)是 Java1.1就开始有的特性. 简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存 ...
- vipw和vigr命令
Modifying the Configuration Files To add user accounts, it suffices that one line is added to /etc/p ...
- int? 类型数据
在数据库操作中,会遇到在int的单元格恰好为NULL值的情况,这个时候我们可以直接判断是否为null然后进行赋值,有人就想那我刚好用一下:?表达式不就好了: ) ? ); 这时候编译器会报错,原因就是 ...
- 第1章 你真的了解C#吗?
什么是C#? C#是由微软公司开发的一种面向对象且运行于.Net Framework之上的高级程序设计语言,发布于2000年6月. 什么是.Net Framework 我们可以这样去理解.Net Fr ...
- office - 连接字符串.
Microsoft ACE OLEDB 12.0 Connect to Excel 2007 (and later) files with the Xlsx file extension. That ...
- PL/SQL中的变量
1.标量: ag1: declare v_ename emp.ename%type;--自己称为单变量 begin select ename into v_ename from emp where e ...
- Javascript 常用函数【3】
jquery选中radio //如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_category").each(function() { if ($(t ...