萌新求助!样例过了题目一堆RE......求dalao浇浇我
查看原帖
萌新求助!样例过了题目一堆RE......求dalao浇浇我
585776
congsiyu123楼主2022/1/8 10:57
#include<iostream>
#include<cstring>
using namespace std;
int count = 0;
class zhan
{
public:
	bool *data ;
	int top;
};
void chu(zhan*p,int &a)//初始化
{
	p->data = new bool[a];
	memset(p->data, 0, sizeof(bool) * a);
	p->top = 0;
}
void ruzhan(zhan*p,int &k)//入栈
{
	p->data[k] = 1;
	p->top = k;
	::count++;
}
void chuzhan(zhan* p, int &k)//出栈
{
	for (int i = k+1; i <= p->top; i++)
	{
		if (p->data[i] == 1)
		{
			p->data[i] = false;
			::count++;
		}
	}
	if (p->data[k] == false)
	{
		ruzhan(p, k);
	}
	p->top = k;
}
int main()
{
	int n = 0,type=0;
	cin >> n >> type;
	zhan arr[6];
	for (int i = 0; i < 6; i++)//初始化
	{
		chu(&arr[i], type);
	}
	for (int i = 0; i < n; i++)
	{
		int kind = 0, k = 0;
		cin >> kind >> k;
		if (arr[kind].top < k)
		{
			ruzhan(&arr[kind], k);
		}
		else if (arr[kind].top > k)
		{
			chuzhan(&arr[kind], k);
		}
	}
	cout << ::count;
}
2022/1/8 10:57
加载中...