叠筐

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10111 Accepted Submission(s): 2548

Problem Description
需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
 
Input
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
 
Output
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
 
Sample Input
11 B A
5 @ W
 
Sample Output
AAAAAAAAA
ABBBBBBBBBA
ABAAAAAAABA
ABABBBBBABA
ABABAAABABA
ABABABABABA
ABABAAABABA
ABABBBBBABA
ABAAAAAAABA
ABBBBBBBBBA
AAAAAAAAA

@@@
@WWW@
@W@W@
@WWW@
@@@

 

总结: 这道题 水题一道,关键有三点要注意 1:中间的花色问题,我们用m=(n-1)/2;m=m%2来控制中间的花色;2:要留意n==1的情况, WA了好几次,最后仔细检查了一下,才发现少了这种情况;3:WA的问题解决之后有出现了PE问题,在仔细看看题才知道,只是在叠筐与叠筐之间(即两个输出之间)才有空行。

 

import java.util.*;
import java.io.*; public class T2074 { public static void main(String[] args) {
Scanner sc = new Scanner(new BufferedInputStream(System.in));
int bh=0;
while (sc.hasNext()) {
int n = sc.nextInt();
String s1 = sc.next();
String s2 = sc.next();
// 控制叠筐与叠筐之间(即两个输出之间)的空行
if(bh==0) bh=1;
else{
System.out.println();
}
String str[][] = new String[81][81];
//控制中间的花色
int m = (n - 1) / 2;
if (m % 2 != 0) {
String t;
t = s1;
s1 = s2;
s2 = t;
}
//分两种情况,n==1和n!=1的情况
if (n == 1)
System.out.println(s1);
else {
String st = " ";
for (int i = 0; i < n - 2; i++) {
st += s1;
}
st += " ";
str[0][0] = st;
boolean bb = true;
for (int i = 1; i <= n / 2; i++) {
boolean b = true;
int k = 0;
for (int j = 1; j <= i; j++) {
if (b == true) {
b = false;
str[i][k++] = s1;
} else {
b = true;
str[i][k++] = s2;
}
}
if (bb) {
bb = false;
for (int j = i; j < n - i; j++) {
str[i][k++] = s2;
}
} else {
bb = true;
for (int j = i; j < n - i; j++) {
str[i][k++] = s1;
}
}
for (int j = 1; j <= i; j++) {
if (b == false) {
b = true;
str[i][k++] = s1;
} else {
b = false;
str[i][k++] = s2;
}
}
}
for (int i = 0; i <= n / 2; i++) {
for (int j = 0; j < n; j++) {
if (str[i][j] != null)
System.out.print(str[i][j]);
}
System.out.println();
}
for (int i = n / 2 - 1; i >= 0; i--) {
for (int j = 0; j < n; j++) {
if (str[i][j] != null)
System.out.print(str[i][j]);
}
System.out.println();
}
}
}
}
}

HDU 2074 叠筐的更多相关文章

  1. hdu 2074 叠筐 好有意思的绘图题

    叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  2. hdoj 2074 叠筐

    叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  3. HDUJ 2074 叠筐 模拟

    叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. JSU省赛队员选拔赛个人赛1(Coin Change、Fibbonacci Number、Max Num、单词数、无限的路、叠筐)

    JSU省赛队员选拔赛个人赛1 一.题目概述: A.Coin Change(暴力求解.动态规划)     B.Fibbonacci Number(递推求解) C.Max Num(排序.比较) D.单词数 ...

  5. hdu 2074 堆放篮 好开心图纸标题

    堆放篮 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  6. hdu2074 叠筐

    叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  7. hdu 2074

    ps:WA了好多次...因为首先是n=1的情况,其次是中心花色和外花色,中心花色也有可能是最外层花色....很无语. 然后就是格式问题咯. 代码 #include "stdio.h" ...

  8. HDU 2073 叠框

    解题报告:一个字符串的题,最恶心的还是格式问题,PE了很多次,要求是每个测试数据的后面都带有一个空行,但是最后一个不能有空行,所以只能把第一组 数据的前面不输出空行,而后面的每一组数据都输出空行,这样 ...

  9. hdu2074java

    叠筐 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

随机推荐

  1. Javascript高级程序设计读书笔记(第10章 DOM)

    第10章 DOM 10.1  节点层次 每个节点都有一个nodeType属性,用于表明节点的类型.任何节点类型必是下面中的一个: Node.Element_NODE(1); NODE.ATTRIBUT ...

  2. (转)ASP.NET MVC 学习第一天

    天道酬勤0322   博客园 | 首页 | 发新随笔 | 发新文章 | 联系 | 订阅  | 管理 随笔:10 文章:0 评论:9 引用:0 ASP.NET MVC 学习第一天 今天开始第一天学习as ...

  3. 发布到IIS后 程序乱码

    网站-功能视图-.net全球化 编码设置 请求:utf-8 文件:gb2312 响应:utf-8 响应头:utf-8 可以根据需要自己定义

  4. Lesson 1: What is design? Why is it important?

    Week 2: What is design? Why is it important? Article 1: Startups, this is how design works. It's a s ...

  5. Android WifiDirect 学习(三) 一些基础知识和问题

    P2P架构介绍 P2P架构中定义了三个组件,一个设备,两种角色.这三个组件分别是: P2P Device:它是P2P架构中角色的实体,读者可把它当做一个Wi-Fi设备. P2P Group Owner ...

  6. MS SQL到Oracle的数据迁移笔记

    MS SQL到Oracle的数据迁移笔记 一.任务背景 旧系统使用MS SQL Server数据库,新系统使用Oracle数据库,现在需要将旧系统中的数据迁移到新系统中,旧数据按照约定的规则转换后,能 ...

  7. MVC---404页面配置

    参考地址1:http://benfoster.io/blog/aspnet-mvc-custom-error-pages 参考地址2:https://msdn.microsoft.com/en-us/ ...

  8. java部分基础总结

    新手期一些知识的总结面向对象: 首先先将面向对象与面向过程区分开:面向过程主要是通过过程,达到某种目的,这种目的的目标就是对象,二面向对象重点则是不再考虑过程,直接面向对象! 对象 概念:一切客观存在 ...

  9. MongoDB 介绍及Windows下安装

    一.MongoDB简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C++ ...

  10. js获取url的各项参数

    function getQueryStringArgs() { //取得查询字符串并去掉开头的问号 var qs = location.search.length > 0 ? location. ...