7-1 Good in C (20分)

When your interviewer asks you to write "Hello World" using C, can you do as the following figure shows?

Input Specification:

Each input file contains one test case. For each case, the first part gives the 26 capital English letters A-Z, each in a 7 matrix of C's and .'s. Then a sentence is given in a line, ended by a return. The sentence is formed by several words (no more than 10 continuous capital English letters each), and the words are separated by any characters other than capital English letters.

It is guaranteed that there is at least one word given.

Output Specification:

For each word, print the matrix form of each of its letters in a line, and the letters must be separated by exactly one column of space. There must be no extra space at the beginning or the end of the word.

Between two adjacent words, there must be a single empty line to separate them. There must be no extra line at the beginning or the end of the output.

Sample Input:

..C..
.C.C.
C...C
CCCCC
C...C
C...C
C...C
CCCC.
C...C
C...C
CCCC.
C...C
C...C
CCCC.
.CCC.
C...C
C....
C....
C....
C...C
.CCC.
CCCC.
C...C
C...C
C...C
C...C
C...C
CCCC.
CCCCC
C....
C....
CCCC.
C....
C....
CCCCC
CCCCC
C....
C....
CCCC.
C....
C....
C....
CCCC.
C...C
C....
C.CCC
C...C
C...C
CCCC.
C...C
C...C
C...C
CCCCC
C...C
C...C
C...C
CCCCC
..C..
..C..
..C..
..C..
..C..
CCCCC
CCCCC
....C
....C
....C
....C
C...C
.CCC.
C...C
C..C.
C.C..
CC...
C.C..
C..C.
C...C
C....
C....
C....
C....
C....
C....
CCCCC
C...C
C...C
CC.CC
C.C.C
C...C
C...C
C...C
C...C
C...C
CC..C
C.C.C
C..CC
C...C
C...C
.CCC.
C...C
C...C
C...C
C...C
C...C
.CCC.
CCCC.
C...C
C...C
CCCC.
C....
C....
C....
.CCC.
C...C
C...C
C...C
C.C.C
C..CC
.CCC.
CCCC.
C...C
CCCC.
CC...
C.C..
C..C.
C...C
.CCC.
C...C
C....
.CCC.
....C
C...C
.CCC.
CCCCC
..C..
..C..
..C..
..C..
..C..
..C..
C...C
C...C
C...C
C...C
C...C
C...C
.CCC.
C...C
C...C
C...C
C...C
C...C
.C.C.
..C..
C...C
C...C
C...C
C.C.C
CC.CC
C...C
C...C
C...C
C...C
.C.C.
..C..
.C.C.
C...C
C...C
C...C
C...C
.C.C.
..C..
..C..
..C..
..C..
CCCCC
....C
...C.
..C..
.C...
C....
CCCCC
HELLO~WORLD!

Sample Output:

C...C CCCCC C.... C.... .CCC.
C...C C.... C.... C.... C...C
C...C C.... C.... C.... C...C
CCCCC CCCC. C.... C.... C...C
C...C C.... C.... C.... C...C
C...C C.... C.... C.... C...C
C...C CCCCC CCCCC CCCCC .CCC.C...C .CCC. CCCC. C.... CCCC.
C...C C...C C...C C.... C...C
C...C C...C CCCC. C.... C...C
C.C.C C...C CC... C.... C...C
CC.CC C...C C.C.. C.... C...C
C...C C...C C..C. C.... C...C
C...C .CCC. C...C CCCCC CCCC.

题意:

给你26个字母的7*5的图案,然后给出一串包含大写字母的句子,把里面的大写字母打印出来,每个单词一行,单词内的字母间空一列,行前行末没有多余的空行和空格。

题解:

乍一眼看就觉得挺麻烦的就先跳过。之后做了很久很久,提交了无数次。。。

我先是把要打印的图案忽略空行,先统一放在ans这个二维数组里,最后打印这个二维数组。

那么将图案写入ans中时,如下图,要注意cc和rr的变化,没打印一个字母,rr+=6,同时打印一列空行。遇到了非大写字母的符号(注意:多个非大写字母符号要看做一个),那就rr=1,cc+=7,同时一开始我只拿了13分,中间的三个测试点就过不了,原因可能是输入的字符串可能包含空格,还可能因为没有记录每个大行(col)最多打印多少列,每个大行都是不一样的,要记录下来,然后注意一些小细节。这题我最后才过的,当时开心地哇了一声~终于考完,100分啦,还惊到了旁边的同学。。。hhh

AC代码:

#include<bits/stdc++.h>
using namespace std;
char zm[30][15][15];
string s;
char ans[10000][10000];
int rnum[505];
int main(){for(int i=1;i<=26;i++){//存入zm中 for(int j=1;j<=7;j++){for(int k=1;k<=5;k++){cin>>zm[i][j][k];} }} getchar();getline(cin,s);//输入的字符串可能会包含空格int l=s.length();int col=1,cc=1;int rr=1;int f=0;//连续几个非大写字母的符号看作一个符号 for(int i=0;i<l;i++){if(s[i]>='A'&&s[i]<='Z'){int lett=s[i]-'A'+1;f=1;for(int j=1;j<=7;j++){//打印一个字母到ans for(int k=1;k<=5;k++){ans[cc+j-1][rr+k-1]=zm[lett][j][k];rnum[col]=max(rnum[col],rr+k-1);//用于记录每一大行最长有多长 }}rr+=6;//每打印一个字母在字母后面打印一个空行 for(int j=1;j<=7;j++){ans[cc+j-1][rr-1]=' ';}}else{if(f==1) {//如果符号之后又出出现过大写字母了 cc+=7;//行数+7 col++;//大行数+1 rr=1;    }f=0;}}if(f==0) col--;//最后一个符号不需要再多一行 for(int i=1;i<=col*7;i++){for(int j=1;j<=rnum[(i-1)/7+1];j++){cout<<ans[i][j];}if(i!=col*7) cout<<endl;//行末无空格 if(i%7==0&&i!=col*7) cout<<endl;//没打印7行空一行 }    return 0;
}

PAT-2019年冬季考试-甲级 7-1 Good in C (20分)相关推荐

  1. 【PAT】2021年冬季考试甲级,摸鱼游记、92分

    T1,简单模拟,20/20分 #include<bits/stdc++.h> using namespace std; const int maxn = 1e5+10; int a[max ...

  2. pat甲级考试报名费_PAT(甲级)2019年冬季考试 题解

    总结写在前头: 考了字符串.链表(伪链表).图.树.考点比较均衡. 本次考试难度还行,需要较扎实的数据结构底子,对于字符串处理的技巧有一定的要求. 说句题外话,字符串是个重点,主要因为很多人会忽视字符 ...

  3. PAT(乙级)2019年冬季考试【答案+题解】

    7-1 2019数列 (15分) 7-2 老鼠爱大米 (20分) 7-3 String复读机 (20分) 7-4 擅长C (20分) 7-5 区块反转 (25分) 7-1 2019数列 (15分) 把 ...

  4. PAT(甲级)2019年冬季考试 7-2 Block Reversing

    这题是做过的,B1025,我还总结过,果然早晚复相逢,只改了一点点,见1025 反转链表. 点睛之笔是结构体数组的哈希,地址既做下标,又有实际含义,妙啊. node[add].add = add; 当 ...

  5. PAT(甲级)2019年冬季考试 7-4 Cartesian Tree

    这道题利用的是最小堆和中序排序的属性:只要知道根节点,就能得出哪些属于左子树,哪些属于右子树. 开始我一直报段错误,经过筛查,发现是创建树的函数忘记写返回语句 return root. AC代码 #i ...

  6. PAT(甲级)2019年冬季考试7-1 Good in C (20 分)

    7-1 Good in C (20 分) When your interviewer asks you to write "Hello World" using C, can yo ...

  7. PAT-2019年冬季考试-甲级-7-1 Good in C (20分)超详解,几招就满分通过

    本题在2021年12月之后才会解封放到免费题库里,目前需要收费. 题目: When your interviewer asks you to write "Hello World" ...

  8. 【PAT甲级 排序】1096 Consecutive Factors (20 分) C++ 全部AC

    题目 难倒是不难,暴力破解即可.要注意的就是开longlong,以及开方时,不要丢失临界值,还有如果子序列长度为0的话,输出num本身(因为计算的时候不考虑1这个因数). 一开始想出来一种O(n)的算 ...

  9. 【PAT甲级 LinkedHashMap】1041 Be Unique (20 分) Java、C++版

    题目 题目的意思是,找到第一个不重复的元素.输出它. 一开始用Java做,试了好多种方法都超时.后来换用C++通过了. AC题解:C++版 用Java尝试了各种方式,都是后两个测试点过不去,只好换C+ ...

最新文章

  1. 基于dsp_builder的算法在FPGA上的实现(转自https://www.cnblogs.com/sunev/archive/2012/11/17/2774836.html)...
  2. SAP UI5故障排查 - why I cannot get my select control via byId
  3. LoadRunner性能测试-Std. Deviation标准差
  4. mongodb查询文件服务器的数据,服务器端知识库mongodb基础篇
  5. 反向传播算法的详细解释(下)
  6. 构建小型Linux跟文件系统镜像(Ext2 或 Ext3)
  7. 编解码器的学习笔记(十):Ogg系列
  8. 设计模式练习:Decorate模式
  9. 译: 6. 任务调度(定时执行任务)
  10. 操作系统之伙伴堆实现
  11. java 扫描文件_JAVA文件扫描(递归)的实例代码
  12. linux镜像文件下载
  13. html 怎么检测ie浏览器的最高版本,检测是否为IE浏览器及IE浏览器的版本
  14. 科研伦理与学术规范-期末考试答案
  15. 类似酷我音乐盒设计小总结(C#版)
  16. 5月6日(Lambda)LCAC第十三次会议重要信息摘取
  17. 禁用Chrome跟随系统的DPI缩放
  18. 单片机矩阵式键盘扫描程序
  19. 华科再次拿下华为“天才少年”最高薪!201万给到通信应届博士生
  20. Cimplicity软件开发的汽车厂监控系统案例

热门文章

  1. linux gulp 安装教程,linux – 安装gulp browserify始终给出错误
  2. 在VMware虚拟机软件下如何给一个CentOS7虚拟机添加多个网卡
  3. 迭代器模式--更高、更快、更强(行为模式09)
  4. JavaScript代码题--以及一些奇奇怪怪的发现
  5. HPX-H1、HPX-NT1、HPX-NT3、HPX-T1
  6. [转载]R软件包vegan教程 5.1 函数adonis的使用_圈圈Bio_新浪博客
  7. php中define的参数_php中define的含义及用法详解
  8. 职场人怎样提高说话技巧
  9. 你刚吃的兰州牛肉面_背后就藏着大数据
  10. java utf8 简繁转换 类库_java简繁转换(区分港台)