题目链接:点击打开链接
题目大意:略。
解题思路:
- 注意当中有越界的下标。
- 注意 “\\” 转义字符。
- 题目有些字符输出不了,没事,其他正常即可。
AC 代码
#include<bits/stdc++.h>
#include<cmath>
#define mem(a,b) memset(a,b,sizeof a);
#define INF 0x3f3f3f3f
#define MOD 1000000007
using namespace std;
typedef long long ll;
vector<string> v[5],tv;
string ts;
int main()
{
int n=3;
string s;
char c;
for(int i=0;i<n;i++)
{
getline(cin,s);
int len=s.length();
for(int i=0,f=0;i<len;i++)
{
c=s[i];
if(c==']')
{
f=0;
tv.push_back(ts);
ts.clear();
}
if(f) ts.append(1,c);
if(c=='[') f=1;
}
v[i]=v[n-i+1]=tv;
tv.clear();
}
// for(int i=0;i<5;i++)
// {
// for(int j=0;j<v[i].size();j++)
// {
// printf("%s ",v[i][j].c_str());
// }
// puts("");
// }
scanf("%d",&n);
int a;
while(n--)
{
int f=1; ts.clear();
for(int i=0;i<5;i++)
{
scanf("%d",&a);
if(!f) continue;
if(a>v[i].size() || a<=0){f=0; continue;}
if(i==1) ts.append(1,'(');
ts.append(v[i][a-1]);
if(i==3) ts.append(1,')');
}
if(!f) puts("Are you kidding me? @\\/@");
else printf("%s\n",ts.c_str());
}
return 0;
}