0
已解决
朱宗晔
初级光能
初级光能
#include <iostream>
using namespace std;
int last[1010],n,m,ym,ans;
int main(){
cin >> m >> n;
for(int i = 1,a;i <= n;i ++){
cin >> a;
bool flag = false;
for(int j = 1;j <= ym;j ++){
if(last[j] == a){
flag = true;
break;
}
}
if(!flag){
if(ym == m){
last[1] = a;
ans ++;
}
else {
last[++ym] = a;
ans ++;
}
}
}
cout << ans << endl;
}
代码一
#include<iostream> using namespace std; int a[10100],tot[10100],n,m,Max=-1,Min=1100,ans=0,ys=0; int cmp(int max,int a) { for(int i=1;i<=max;i++){ if(tot[i]==a) return 0; } return 1; } int main() { cin>>m>>n; for(int i=1;i<=n;i++){ cin>>a[i]; if(Max<a[i]) Max=a[i]; if(Min>a[i]) Min=a[i]; tot[i]=1010; } for(int i=1;i<=n;i++){ if(ys<m){ if(cmp(Max,a[i])){ ans++; ys++; tot[a[i]]=a[i]; } } if(cmp(Max,a[i])&&ys>=m){ tot[Min]=1010; tot[a[i]]=a[i]; if(a[i]<Min) Min=a[i]; ans++; ys--; ys++; } } cout<<ans<<endl; }
代码二
两个都是85分,而且都是测试点7错了
求问题出在哪???
2
已采纳
张睿杰
初级天翼
初级天翼
这道题可以用函数
以下是核心和函数
核心
在一开始还要把两个数组都赋为-1,最后输出j
for(int i=0;i<=n-1;i++) cin>>dc[i];
for(int i=0;i<=n-1;i++)
{
f=s(dc[i],m);
if(f==0)
{
jsb[k%m]=dc[i];
k++;
j++;
}
}
函数
int s(int ddz,int m)
{
for(int i=0;i<=m-1;i++)
{
if(ddz==jsb[i]) return 1;
// else return 0;
}
return 0;
}
就这么简单,别忘了定义函数
0
0
王子凡
高级光能
高级光能
for (i=1;i<=n;i++)
{
flag=0;
for (j=1;j<=m;j++)//如果笔记里已经有该字符flag=1
if (a[i]==b[j]) flag=1;
if (flag==0)
{
s++;//需查字典的次数+1
if (k<m)
b[++k]=a[i];//记录该字符
else
b[++k2]=a[i];//清空原来的,记录新的字符
if (k2==m) //再次从第1页开始替代旧的字符
k2=0;
}
}
核心代码
0
0
-2