第四个点RE(虽然开大数组过了但是还是很好奇为什么会RE)

P1162 填涂颜色

@[lunatics](/user/590283) 可能因为你在每次元素出队时并没有真正删除元素,而是把队头位置往后移动,所以如果算上之前加入然后又删除的元素,得出的结果很可能大于900(也就是说你会RE)。
by Powerful_25 @ 2022-07-26 08:23:03


@[sherry0218](/user/465161) 我冒昧的问一下:那大于70000是几个意思?
by so_find_skind @ 2022-07-26 08:41:08


@[lunatics](/user/590283) 推荐一种方法: 头文件: ``` #include<queue> ``` 定义: ``` queue<int> q; PS:此处q为队列名 ``` 插入元素: ``` q.push(x); PS:此处q为队列名,x为待插入元素 ``` 删除元素: ``` q.pop(); PS:此处q为队列名,且无返回结果 ``` 访问队头元素: ``` a=q.front(); PS:此处q为队列名,因返回结果为一个值(即队头元素的值),则需把这个值赋给一个变量,此处即为变量a ``` 查询队中元素个数: ``` a=q.size(); PS:此处q为队列名,因返回结果为一个值(即队中元素个数),则需把这个值赋给一个变量,此处即为变量a ``` 查询队列是否为空: ``` if(q.empty()==true) PS:此处q为队列名,且返回结果为true/false(即1/0),此语句多用于判断(即if语句) ```
by Powerful_25 @ 2022-07-26 08:46:26


@W_YH 可能还是不够大吧,我刚刚试了一下,发现开到76000就够了 [记录](https://www.luogu.com.cn/record/81171539)
by Powerful_25 @ 2022-07-26 08:58:31


@[sherry0218](/user/465161) 谢谢大佬。我大概知道是什么原因了,应该是因为大部分点重复入队导致队长过长,再加个标记判断应该就能解决了。
by lunatics @ 2022-07-27 03:18:49


|