配上题目和我写的代码,但是不能全部AC,暂时想不出哪些用例不能通过,求助于万能的网友们啊!!!
我的代码有问题么???
数字牌替换小游戏
时间限制:C / C++语言 1000MS;其他语言 3000MS
内存限制:C / C++语言 65536KB;其他语言 589824KB
题目描述:
Tom最近很闲,所以发明了一个小游戏。给出一个数字m(m < 10521),有三个数字牌,可以用一张牌替换随意一种数字,一张扑克牌只能用一次,现在要求求出替换后的最大值(可以选择不用数字牌)。
输入
有n组数据,先输入n。随后每组数据输入m(m < 10521)和三个数字牌
输出
替换后的最大数字
样例输入
2
9001
0
1
2
9301
0
1
2
样例输出
9221
9321
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
vector<vector<int> > pend(n, vector<int>(3, 0));
vector<string> nums(n, string());
for (int i = 0; i < n; i++) {
cin >> nums[i];
for (int j = 0; j < 3; j++) {
cin >> pend[i][j];
}
sort(pend[i].begin(), pend[i].end());
int k = 2;
for (int j = 0; j < nums[i].length() && k >= 0; j++) {
if (nums[i][j] < pend[i][k] + '0') {
nums[i][j] = pend[i][k] + '0';
k--;
}
}
}
for (int i = 0; i < n; i++) {
cout << nums[i] << endl;
}
return 0;
}