70pts 求条QAQ
查看原帖
70pts 求条QAQ
1384613
lluuonone_sr楼主2024/12/11 13:50

模拟队列写的,哪里有问题啊qwq

#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
int q[N];
int m,n;
int front, rear, beginn;

void push (int x)
{
	if (front <= rear)
	{
		q[front] = x;
		front ++;
	}
}

void pop ()
{
	beginn ++;
	rear ++;
}

int main()
{
	memset (q, -1, N);
	cin >> m >> n;
	rear = m - 1;
	
	int cnt = 0;
	for (int i = 1; i <= n; i++)
	{
		int a;
		cin >> a;
		bool f = 1;
		for (int j = beginn-1; j <= rear; j++)
		{
			if (a == q[j])
			{
				f = 0;
				break;
			}
		} if (f) 
		{
			push (a);
			cnt ++;
		}
		
		if (front > rear) pop ();
	}
	
	cout << cnt;
	
	return 0;
} 
2024/12/11 13:50
加载中...