题目要求
P4327题目链接
这种横向拼接的题比较不好直接处理,因为你必须把每一行处理好再打印出来。
不过好在本题是规律题: 我们把每4列切成一个模块,最后补上最后一列就可以。 但是,第1组开头是#,需要先处理一下呢。
后面的各组按照mod3处理:
mod3==0:
“…#.” “.#.#” “*.?.” “.#.#” “…#.”
mod3==1:
“…#.” “.#.#” “#.?.” “.#.#” “…#.”
mod3==2:
“…*.” “.*.*” “*.?.” “.*.*” “…*.”
然后就分别把这一组组的String进行replaceAll()以后,替换掉原有String,再加入StringBuilder里面。 最后如上所言,补上去最后一列就行。
具体的看代码吧~~
AC代码(Java语言描述)import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] alphabets = scanner.nextLine().split("");
scanner.close();
String demo1 = "..#.", demo6 = "..*.", demo11 = "..#.";
String demo2 = ".#.#", demo7 = ".*.*", demo12 = ".#.#";
String demo3 = "#.?.", demo8 = "*.?.", demo13 = "*.?.";
String demo4 = ".#.#", demo9 = ".*.*", demo14 = ".#.#";
String demo5 = "..#.", demo10 = "..*.", demo15 = "..#.";
StringBuilder line1 = new StringBuilder(demo1);
StringBuilder line2 = new StringBuilder(demo2);
StringBuilder line3 = new StringBuilder(demo3.replaceAll("\\?", alphabets[0]));
StringBuilder line4 = new StringBuilder(demo4);
StringBuilder line5 = new StringBuilder(demo5);
for (int i = 1; i
关注
打赏
热门博文
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Node.js】Windows环境安装配置NVM和Node.js
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法