社区讨论
又双叒叕WA辣
P12085[蓝桥杯 2023 省 B] 整数删除参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhjtlxzj
- 此快照首次捕获于
- 2025/11/04 08:18 4 个月前
- 此快照最后确认于
- 2025/11/04 08:18 4 个月前
RE 和 TLE 捏(求调)
#include<iostream>
#include<climits>
using namespace std;
template<typename _Tp> struct Node {
_Tp data;
Node* next;
};
template<typename _Tp> void add(Node<_Tp>* node, _Tp data) {
Node<_Tp>* tail = node;
while (tail->next != NULL) tail = tail->next;
Node<_Tp>* newNode = new(Node<_Tp>);
newNode->data = data;
newNode->next = NULL;
tail->next = newNode;
}
template<typename _Tp> void removeValue(Node<_Tp>* node, _Tp value) {
Node<_Tp>* p = node;
while (p->next->data != value) p = p->next;
p->next = p->next->next;
}
template<typename _Tp> _Tp findNodeMin(Node<_Tp>* node) {
Node<_Tp>* tail = node;
_Tp minn = INT_MAX;
while (tail->next != NULL) {
if (tail->data < minn) minn = tail->data;
tail = tail->next;
}
return minn;
}
template<typename _Tp> void display(Node<_Tp> node) {
Node<_Tp>* tail = &node;
while (tail != NULL) {
cout << tail->data << " ";
tail = tail->next;
}
}
int n, k;
Node<int> node;
int main() {
cin >> n >> k;
for (int i = 0; i < n; i++) {
int x; cin >> x;
add(&node, x);
}
Node<int>* tail = &node;
for (int i = 0; i < k; i++)
while (tail->next != NULL) {
int val = node.data;
if (val == findNodeMin(&node)) {
node.next->data += val;
removeValue(&node, val);
}
}
display(node);
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...