社区讨论
60分求助
P1540[NOIP 2010 提高组] 机器翻译参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo85ejq6
- 此快照首次捕获于
- 2023/10/27 13:03 2 年前
- 此快照最后确认于
- 2023/11/02 11:15 2 年前
思路比较简单,如果单词不在队列中那么压入队列,计数器加一,如果超内存则弹出队首的单词。代码如下:
CPP#include <iostream>
#include <queue>
#include <algorithm>
using namespace std;
queue < int > q;
int m, n;
int main()
{
int tmp;
cin >> m >> n;
int sum = 0;
for (int i = 0; i < n; i++)
{
cin >> tmp;
if (find(&q.front(), &q.back() + 1, tmp) != &q.back() + 1)
{
continue;
}
sum++;
if (q.size() + 1 > m) q.pop();
q.push(tmp);
}
cout << sum;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...