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 }