【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 ...
随机推荐
- Linux动态库的编译与使用
转载: http://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html Linux下的动态库以.so为后缀,我也是初次在Li ...
- 只有20行Javascript代码!手把手教你写一个页面模板引擎
http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...
- Union和Union All的差别
如果我们有一个表Student,包含下面字段与数据: drop table student; create table student ( id int primary key, name nvarc ...
- Linux安装应用程序对程序文件owner/group和执行程序帐号设置的规范做法
本文原文链接:http://blog.csdn.net/bluishglc/article/details/24384189 转载请注明出外! 本文面向的是在server环境下对已编译.自解压应用程序 ...
- MultiWii MWC的软件和调试方法
(如果你的电脑是win7 64位的系统,安装了JAVA虚拟机后GUI仍然运行不了,那你就需要到C:\Program Files\Java\jre7\bin\找到并复制javaw.exe,然后粘贴到C: ...
- 组合控件 圆环 ring
使用 可以设置内部填充样式及大小 可以设置边框颜色及宽度 这里只是介绍了其中一种实现方式,其实这种类型的东西完全可以用自定义View去实现,他就是一个空中的大圆+一个空中或实心的小圆,实现起来也是非常 ...
- php微信接口验证写法
<?php //获得接口认证 $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; $token = 'weixin'; $sign ...
- 网络断开后重连downloadProvider继续下载问题调试分析
最近在安卓4.4上遇到一个断开wifi后重新连接wifi, downloadProvider继续下载文件失败的问题.于是开始了解下载管理模块的断点续载功能: 1.首先,分析android lo ...
- java关键字 (jdk6),各自的含义是什么?
Abstract 抽象的 一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承.一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现. bre ...
- 武汉科技大学ACM:1003: 华科版C语言程序设计教程(第二版)例题6.6.改编
Problem Description 小明明最喜欢学英语了,英语课从来不翘课,但是英语却一直没学好,因为上课一直在睡觉.为什么会睡觉呢,因为他觉得英文单词太长了.现在小明明有一个很长很长很长的单词, ...