第一题: int main() {     vector<int> A, B;     char temp[10000];     cin.getline(temp, 10000);     int l = 0;     int sum = 0;     while (temp[l] != '\0') {         if (temp[l] == ' ') {             A.push_back(sum);             sum = 0;         }         else             sum = sum * 10 + temp[l] - '0';         l++;     }     A.push_back(sum);     cin.getline(temp, 10000);     l = 0;     sum = 0;     while (temp[l] != '\0') {         if (temp[l] == ' ') {             B.push_back(sum);             sum = 0;         }         else             sum = sum * 10 + temp[l] - '0';         l++;     }     B.push_back(sum);     sort(B.begin(), B.end());     int idx;     for (idx = 0; idx < (int)A.size() - 1; idx++)         if (A[idx] >= A[idx + 1])             break;     for (int i = (int)B.size() - 1; i >= 0; i--) {         if ((B[i] > A[idx]) && (idx == (int)A.size() - 2 || B[i] < A[idx + 2])) {             A[idx + 1] = B[i];             for (int j = 0; j < A.size(); j++)                 cout << A[j] << ' ';             cout << endl;             system("pause");             return 0;             break;         }     }          for (int i = (int)B.size() - 1; i >= 0; i--) {         if ((B[i] < A[idx + 1]) && (idx == 0 || B[i] > A[idx - 1])) {             A[idx] = B[i];             for (int j = 0; j < A.size(); j++)                 cout << A[j] << ' ';             cout << endl;             system("pause");             return 0;             break;         }     }          cout << "NO" << endl;     system("pause");     return 0; }
点赞 3

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务