求助

P1540 [NOIP2010 提高组] 机器翻译

```cpp // luogu-judger-enable-o2 //这是我的 #include <bits/stdc++.h> using namespace std; int n,m,x,ans,l,r,a[1005],b[1005]; int main() { cin>>m>>n; l=0; r=0; for (int i=1;i<=n;i++) { cin>>x; if (a[x]==0) { ans++; r++; b[r]=x; a[x]=1; if (r>m) { l++; a[b[l]]=0; } } } cout<<ans; return 0; } ```
by Spider_Man_gjh @ 2018-07-18 14:31:56


其实就是 **栈**
by Spider_Man_gjh @ 2018-07-18 14:33:25


我写的指针
by Spider_Man_gjh @ 2018-07-18 14:34:05


@[kevin0212](/space/show?uid=53956) 我觉得……应该用队列更合适
by shajjl @ 2018-07-18 14:36:07


@[kevin0212](/space/show?uid=53956) 您的代码里好像并没有指针吧
by colazcy @ 2018-07-18 14:36:20


我也不知道我写了些啥
by shajjl @ 2018-07-18 14:36:35


```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ vector<int> mem; int m,n; cin >> m >> n; int ans = 0; for(int i = 1;i <= n;++i){ int x; cin >> x; if(find(mem.begin(),mem.end(),x)==mem.end()){ mem.push_back(x); ++ans; if(mem.size()>m)mem.erase(mem.begin()); } } cout << ans; return 0; } ``` 可以直接上STL,简单粗暴
by colazcy @ 2018-07-18 14:37:27


额....... 我管那个下标叫指针......
by Spider_Man_gjh @ 2018-07-18 14:37:57


好尴尬
by Spider_Man_gjh @ 2018-07-18 14:38:06


@[kevin0212](/space/show?uid=53956) 我们教练也是这样。。。
by colazcy @ 2018-07-18 14:38:23


| 下一页