2 条题解
-
2
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int x,flag=0; int a[N],cnt,len; int main() { while(cin>>x) a[++cnt]=x; int k=a[cnt]; a[cnt--]=0; for(int i=1; i<=cnt; i++)//删除 if(k==a[i]) { flag=1; cout<<i+len<<" "; for(int j=i; j<=cnt; j++) a[j]=a[j+1]; len++; cnt--; i--; } if(!flag) {//插入 for(int i=1; i<=cnt; i++) if(k<a[i]&&!flag) { flag=2; cnt++; for(int j=cnt; j>=i; j--) a[j]=a[j-1]; a[i]=k; cout<<i; } } if(!flag) { cout<<++cnt; a[cnt]=k; } cout<<endl; for(int i=1; i<=cnt; i++) cout<<a[i]<<" "; return 0; }
-
1
脑瘫解法
using namespace std; const int B=101; int m[B],p[B],q[B]; int main() { int sum=0,a,k=0,g=0,f=0; while(cin>>a) { m[sum]=a; q[sum]=a; sum++; } int b=m[sum-1]; for(int i=sum-2; i>=0; i--) { if(b==m[i]) { m[i]=999; k++; } } if(k>0) { for(int y=0;y<=sum-2;y++){ if(m[y]==q[y]){ g++; } else if(m[y]!=q[y]){ g++; cout<<g<<" "; } } cout<<endl; for(int i=0; i<=sum-2; i++) { if(m[i]!=999) { cout<<m[i]<<" "; } } } else if(k==0) { for(int i=1; i<=999; ++i) { for(int i=1; i<=sum-1; ++i) { if(m[i-1]>m[i]) { swap(m[i-1],m[i]); } } } for(int h=0;h<=sum-1;++h){ if(q[h]<=b){ f++; } if(q[h]>b){ f++; cout<<f; break; } if(h==sum-2) {f++; cout<<f; break; } } cout<<endl; for(int h=0; h<=sum-1; h++) { cout<<m[h]<<" "; } } return 0; }
- 1
信息
- ID
- 82
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 1389
- 已通过
- 217
- 上传者