社区讨论
这里给大家一个示例
P1540[NOIP 2010 提高组] 机器翻译参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lwamjmdq
- 此快照首次捕获于
- 2024/05/17 19:56 2 年前
- 此快照最后确认于
- 2024/05/17 20:10 2 年前
可以说哈,就是那栈来模拟的,不复杂,一个库就可以了。
M[]是内存,S[]是外存,T[]是文章,a是查了几次,b是判定是否在内存里而不需要查找外存的一个数。
代码如下:
CPP#include <stdio.h>
using namespace std;
int M[201], S[1001], T[1102], a, b;
int main() {
int n, m, head = 0, tail = 0;
scanf("%d %d", &m, &n);
for (int i = 0; i < 1000; i++)
S[i] = i + 1;
for (int i = 0; i < n; i++)
scanf("%d", &T[i]);
for (int i = 0; i < n; i++) {
b = 0;
for (int j = head; j < tail; j++) {
if (M[j] == T[i]) {
b = 1;
break;
}
}
if (b == 1)
continue;
S[T[i]] == 0;
if (tail - head == m)
head++;
M[tail] = T[i];
tail++;
a++;
}
printf("%d", a);
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...