1 条题解
-
4
#include <bits/stdc++.h> using namespace std; deque<int> dq; //定义deque数据结构,<>中数据类型为int类型,命名为dq bool vis[1010] = {false}; //定义bool数组vis,初始化为false int m, n, a, dep = 0, cnt = 0; //dep变量记录dq元素个数,cnt记录查找次数 int main() { cin >> m >> n; for (int i = 1; i <= n; i++) { cin >> a; if (!vis[a]) { //判断是否为新单词 vis[a] = true; //是,标记为已存单词 cnt++; //查找次数增加1 if (dep == m) { //判断dep是否达到M vis[dq[0]] = false; //达到,标记队首单词为新单词 dq.pop_front(); //删除队首单词 dq.push_back(a); //在队尾插入新单词 } else { dep++; //未达到,dep增加1 dq.push_back(a); //队尾插入新单词 } } } cout << cnt; //输出查找次数 return 0; }
- 1
信息
- ID
- 1922
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 17
- 已通过
- 14
- 上传者