社区讨论

又双叒叕WA辣

P12085[蓝桥杯 2023 省 B] 整数删除参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhjtlxzj
此快照首次捕获于
2025/11/04 08:18
4 个月前
此快照最后确认于
2025/11/04 08:18
4 个月前
查看原帖
(该不会就我直接用链表来做吧)
RE 和 TLE 捏(求调)
本蒟蒻的抽象代码
CPP
#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;
}
既然在座各位都是 dalao 那我就不注释了

回复

0 条回复,欢迎继续交流。

正在加载回复...