PAT乙级1052 卖个萌 (20 分)
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1052 卖个萌 (20 分)相关的知识,希望对你有一定的参考价值。
#include<cstdio>
#include<iostream>
#include<string>
#include<vector>
using namespace std;
string s;
vector<string> ve[5];
int main(void)
{
for(int i=0;i<3;i++)
{
getline(cin,s);
while(s.size())
{
int l=s.find('[');
int r=s.find(']');
if(r==-1) break;
ve[i].push_back(s.substr(l+1,r-l-1));
s=s.substr(r+1);
}
}
ve[3]=ve[1],ve[4]=ve[0];
int k;cin>>k;
for(int i=0;i<k;i++)
{
string temp;
bool flag=true;
for(int j=0;j<5;j++)
{
int x; cin>>x;
if(j==1) temp+="(";
if(x>ve[j].size()||x<=0) flag=false;
else temp+=ve[j][x-1];
if(j==3) temp+=")";
}
if(flag) cout<<temp;
else cout<<"Are you kidding me? @\\\\/@";
cout<<endl;
}
return 0;
}
#include<cstdio>
#include<iostream>
#include<string>
#include<vector>
#include<map>
using namespace std;
string s;
vector<string> ve[5];
map<string,int>mp1,mp2,mp3;
int main(void)
{
for(int i=0;i<3;i++)
{
getline(cin,s);
for(int j=0;j<s.size();j++)
{
if(s[j]=='[')
{
string temp;
while(j<s.size()&&s[++j]!=']') temp+=s[j];
ve[i].push_back(temp);
if(i==0) mp1[temp]=1;
if(i==1) mp2[temp]=1;
if(i==2) mp3[temp]=1;
}
}
}
int t; cin>>t;
for(int i=0;i<t;i++)
{
int a,b,c,d,e ; cin>>a>>b>>c>>d>>e;
a--,b--,c--,d--,e--;
if(a<ve[0].size()&&b<ve[1].size()&&c<ve[2].size()&&d<ve[1].size()&&e<ve[0].size())
{
if(mp1[ve[0][a]]&&mp2[ve[1][b]]&&mp3[ve[2][c]]&&mp2[ve[1][d]]&&mp1[ve[0][e]])
printf("%s(%s%s%s)%s\\n",ve[0][a].c_str(),ve[1][b].c_str(),ve[2][c].c_str(),ve[1][d].c_str(),ve[0][e].c_str());
else
cout<<"Are you kidding me? @\\\\/@"<<endl;
}
else cout<<"Are you kidding me? @\\\\/@"<<endl;
}
return 0;
}
以上是关于PAT乙级1052 卖个萌 (20 分)的主要内容,如果未能解决你的问题,请参考以下文章