Information
- ID
- 901
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 84
- Accepted
- 38
- Uploaded By
#include<bits/stdc++.h>
using namespace std;
//冒泡+最长平台
const int N=110;
int a[N]; //原始数组
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
for(int j=1;j+1<=n-i+1;j++)
{
if(a[j]>a[j+1])
{
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
int cnt=0;
for(int i=1;i<=n;i++)
{
int j=i;
while(j<=n&&a[i]==a[j]) j++;
j--;
cnt++; //平台数目增加一个
i=j;
}
cout<<cnt<<endl;
for(int i=1;i<=n;i++)
{
int j=i;
while(j<=n&&a[i]==a[j]) j++;
j--;
cout<<a[i]<<" ";
i=j;
}
return 0;
}
真不错
#include<bits/stdc++.h>
using namespace std;
const int N=3001;
int a[N],c[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) //获取原数组
{
cin>>a[i];
}
for(int i=1;i<n;i++) //计算差值放到c数组之中
{
c[i]=abs(a[i+1]-a[i]);
}
n--;
for(int i=1;i<=n;i++) //冒泡排序
{
for(int j=1;j+1<=n-i+1;j++)
{
if(c[j]>c[j+1])
{
swap(c[j],c[j+1]);
}
}
}
for(int i=1;i<=n;i++)
{
if(c[i]!=i) //不符合有趣跳跃的条件
{
cout<<"Not jolly";
return 0;
}
}
cout<<"Jolly"; //符合有趣的跳跃
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N=110,M=1010;
int a[N],b[M],c[N];
//整数去重+冒泡排序
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
b[a[i]]=1;
}
for(int i=1;i<=n;i++)
{
if(b[a[i]]==1)
{
c[i]=a[i];
}
b[a[i]]=0;
}
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
int t;
for(int i=1;i<=n;i++)
{
for(int j=1;j+1<=n;j++)
{
if(c[j]>c[j+1])
{
swap(c[j],c[j+1]);
}
}
}
int cnt=0;
for(int i=1;i<=n;i++)
{
if(c[i]!=0)
{
cnt++;
}
}
cout<<cnt<<endl;
for(int i=1;i<=n;i++)
{
if(c[i]!=0)
{
cout<<c[i]<<' ';
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int a[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
a[x]=1;
}
int cnt=0;
for(int i=1;i<=1000;i++)
{
if(a[i]==1)
{
cnt++;
}
}
cout<<cnt<<endl;
for(int i=1;i<=1000;i++)
{
if(a[i]==1)
{
cout<<i<<" ";
}
}
return 0;
}
一般
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
const int N=3000;
int n[N];
int s[N];
int main(){
int a;
cin>>a;
for(int i=1;i<=a;i++)
{
cin>>n[i];
}
for(int i=1;i<=a;i++)
{
for(int q=1;q<a;q++)
{
if(n[q]>n[q+1])
{
swap(n[q],n[q+1]);
}
}
}
int x=0;
for(int i=1;i<=a;i++)
{
if(n[i]!=n[i+1])
{
s[i]=n[i];
x++;
}
}
cout<<x<<endl;
for(int i=1;i<=a;i++)
{
if(s[i]!=0)
{
cout<<s[i]<<" ";
}
}
return 0;
}