1052 卖个萌

//坑点一,序号不存在,表示序号可能大于最大值,或者小于最小值。
//坑点二,输出转义字符\,用\\
注意点:
动态二维数组,只能插入一维数组,不能直接通过语法v[i].push_back(str)实现粒度插入。
但是固定一边的二维数组,可以直接通过语法v[i].push_back(str)实现粒度插入。
 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 
 5 vector<string> v[3];
 6 int main() {
 7     string str;
 8     for(int i = 0; i < 3; ++i) {
 9         getline(cin,str);
10         for(int j = 0; j < str.size(); ++j) {
11             while(j < str.size() && str[j++] != '[');
12             string temp;
13             while(j < str.size() && str[j] != ']') {//把[...]内的字符存放在temp中
14                 temp += str[j];
15                 ++j;
16             }
17             if(temp != "") //必须加这句,不然测试点3无法通过
18                 v[i].push_back(temp);
19         }
20     }
21     int n;
22     cin >> n;
23     for(int i = 0; i < n; i++) {
24         int a, b, c, d, e;
25         cin >> a >> b >> c >> d >> e;
26         if(a > v[0].size() || b > v[1].size() || c > v[2].size() || d > v[1].size() || e > v[0].size() || a < 1 || b < 1 || c < 1 || d < 1 || e < 1) {
27             cout << "Are you kidding me? @\\/@" << endl;
28             continue;
29         }
30         cout << v[0][a-1] << "(" << v[1][b-1] << v[2][c-1] << v[1][d-1] << ")" << v[0][e-1] << endl;
31     }
32     return 0;
33 }

 

 

 

 

posted @ 2020-02-22 13:09  tangq123  阅读(101)  评论(0编辑  收藏  举报