2 条题解
-
1
世界上最好的题解😄
#include<bits/stdc++.h> using namespace std; int main(){ int n,m,pos=1,cnt=0,tmp; cin>>m>>n; int *a=new int[m+1](); for(int i=1;i<=m;i++)a[i]=-1; for(int i=1;i<=n;i++){ cin>>tmp; int flag=1; for(int j=1;j<=m;j++){ if(tmp==a[j]){ flag=0; break; } } if(flag){ a[pos]=tmp; cnt++; pos++; if(pos>m)pos=1; } } cout<<cnt; return 0; }
看完别忘了点赞呦👀️
-
0
#include <iostream> #include <stdio.h> #include <algorithm> 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++) { scanf("%d",&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;//千万不能忘记打这句,不然在比赛中会出错 }
- 1
信息
- ID
- 539
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 19
- 已通过
- 15
- 上传者