单独错了一个测试点
2025-04-30 13:45:20
发布于:江苏
5阅读
0回复
0点赞
#include <iostream>
#include <vector>
using namespace std;
int convert(int num) {
if (num == 1) return 14; // 1 转为 14
if (num == 2) return 15; // 2 转为 15
if (num == 14) return 16; // 输入中的14(小王)转为16
if (num == 15) return 17; // 输入中的15(大王)转为17
return num;
}
int main() {
vector<int> cards;
for (int i = 0; i < 17; ++i) {
int num;
cin >> num;
cards.push_back(convert(num));
}
vector<int> new_cards(3);
for (int i = 0; i < 3; ++i) {
cin >> new_cards[i];
new_cards[i] = convert(new_cards[i]);
}
int total = 0;
for (int i = 0; i < 3; ++i) {
int new_card = new_cards[i];
int pos = cards.size();
int cnt = 0;
for (int j = cards.size() - 1; j >= 0; --j) {
cnt++;
if (cards[j] <= new_card) {
pos = j + 1;
break;
}
}
cards.insert(cards.begin() + pos, new_card);
total += cnt;
}
cout << total << endl;
return 0;
}
这里空空如也
有帮助,赞一个