PAT-2019年冬季考试 - Cでグレード7-1グッド(20分)

C 7-1良い(20分)
 

あなたのインタビュアーがCを使用しての「Hello World」を書くことかを尋ねられた時に、あなたは、次の図に示すよう行うことができますか?

HWC.jpg

入力仕様:

各入力ファイルには、1つのテストケースが含まれています。各場合について、最初の部分は、26資本英語文字AZ、各与える  の7行列  Cのと  .のを。その後の文は、リターンで終わる行、に記載されています。文は、いくつかの単語(10以下の連続資本英語文字ずつ)によって形成され、ワードは資本英文字以外の文字で区切られています。

与えられた少なくとも一つの単語があることが保証されています。

出力仕様:

各単語に対して、線での文字のそれぞれのマトリクス状に印刷し、文字はスペースの正確に1つの列によって分離されなければなりません。先頭または単語の末尾に余分なスペースがあってはいけません。

隣接する二つの単語の間、それらを分離するために、単一の空行がなければなりません。先頭または出力の最後に余分な行があってはなりません。

サンプル入力:

..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!

サンプル出力:

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、および大文字が印刷されている文章中の大文字の文字列、各ワード線、文字間のスペース、単語の余分な行先端を与えられました空白行とスペース。

ソリューション:

見てZhayiはスキップするのは非常に面倒に感じます。長い、長い時間を行った後、彼は何度も提出しました。

私は、最初の空白行は無視され、ANSこれは最初の2次元配列上の統一パターンを印刷し、最終的に2次元配列を印刷したいです。

パターンは以下の図に、次いでANSが書き込まれると、空白行を印刷している間、RR + = 6、文字を印刷しない、変更及びRR CCを注意。非大文字の記号が発生しました(注:複数の非大文字が見えるように看板を作るために)、その後、RR = 1、CC + = 7 、 私は唯一の13ポイントを取っ始めながら、あまりにも上の3つのテストポイントの真ん中いいえ、その理由は、入力文字列にスペースが含まれていてもよいかもしれませんが、また、各大企業(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印刷しない空白行
    }    
     戻り 0 ; 
}

 

 

 

おすすめ

転載: www.cnblogs.com/caiyishuai/p/12005345.html