题解 P1540 【机器翻译】

Tomone

2018-02-09 18:44:41

Solution

本蒟蒻的第二个题解。。。 用了C++的vector容器 ``` #include<cstdio> #include<iostream> #include<algorithm> #include<cstdlib> #include<vector> using namespace std; vector <int> q; int wz,sum,t; int main(){ int m,n; cin>>m>>n; for(int i=0;i<n;++i){ scanf("%d",&wz); //读入数据 if(i==0) { q.push_back(wz); //i=0是直接存内存 sum++; continue; } for(int j=0;j<q.size();++j){ if(wz==q[j]) break; //找到数据之后就break 找内存里的数据 if(j==q.size()-1&&q.size()<m){ //内存未满 q.push_back(wz); //存入数据 sum++; } if(j==q.size()-1&&q.size()==m){ //内存满了 q.erase(q.begin()); //删掉第一个 q.push_back(wz); //从后往前存 sum++; } } } printf("%d",sum); //输出结果 } ``` [本蒟蒻的博客](https://www.cokemine.com/)