AcWing 4276. 擅长C
原题链接
简单
作者:
YAX_AC
,
2024-12-11 16:08:28
,
所有人可见
,
阅读 5
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
//other than除了…以外
//the words are separated by any characters other than capital English letters.
//单词之间用除大写英文字母以外的任何字符分隔。
char f[27][8][6];
string str;
bool check(char x)
{
if(x>='A' && x<='Z') return true;
return false;
}
void print(int l,int r)// (输出下标l到r - 1的字母)
{
for(int i= 0; i<7; i++)
{
int flag = 0;
for(int j = l; j<r; j++)
{
int k = str[j]-'A';
if(flag == 0) flag = 1;
else cout<<' ';
cout<<f[k][i];
}
cout<<endl;
}
}
int main()
{
for(int i = 0; i<26; i++)
for(int j = 0; j<7; j++)
scanf("%s",f[i][j]);
getchar();
getline(cin,str);
bool flag = false;//防止末尾输出多余换行
for(int i = 0; i<(int)str.size(); i++)
{
int j = i;
if(check(str[i]))
{
while(j<(int)str.size() && check(str[j])) j++;
//str下标i到j-1是一个单词
//cout<<str[i]<<' '<<str[j]<<endl;
if(flag == false) flag = true;
else cout<<endl;
print(i,j);
}
i = j;
}
return 0;
}