6 solutions
-
2
#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; }
-
1
#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; }
-
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; }
-
-1
#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; }
-
-2
#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; }
- 1
Information
- ID
- 901
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 83
- Accepted
- 37
- Uploaded By