• Luogu P1540 机器翻译


    思路

    大水题,只需要静下心来模拟就行。我一开始做的时候,首先想到滚动数组但是写完之后发现并不符合题目要求。题目要求新加入的单词作为最新的,在时间上属于最后一个。但是如果用滚动数组的话,新加入的单词就成了第一个加入的单词。也就是说会WA。所以直接模拟是最好的办法。每次超出内存后,将每个元素的下标都往前推一格。空出最后一格给新加入的单词

    代码

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    
    using namespace std;
    
    int n, m, data[108], temp, ans, now;
    bool vis[1008];
    
    int main() {
        scanf("%d%d", &m, &n);
        memset(data, -1, sizeof(data));
        for(int i=1; i<=n; i++) {
            scanf("%d", &temp);
            if(!vis[temp]) {
                vis[temp] = 1;
                if(now == m) {
                    if(data[1] != -1) vis[data[1]] = 0;
                    for(int j=2; j<=m; j++)
                        data[j-1] = data[j];
                    data[m] = temp;
                }
                else {
                    data[++now] = temp;
                }
                ans ++;
            }
        }
        printf("%d", ans);
    }
  • 相关阅读:
    日程管理APP测试用例
    日程管理APP的测试计划和测试矩阵
    Bug report——仿网易新闻APP
    NABCD模拟实验
    5w1h

    小组作业
    code review
    Mutual review
    阅读思考
  • 原文地址:https://www.cnblogs.com/bljfy/p/9316242.html
Copyright © 2020-2023  润新知