个人

C - C

 CodeForces - 136C 

我忘记了输入2时,输出一

错误代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e6+7;
ll a[N];
int main(){
int n;
cin>>n;
int f=0;
for(int i=0;i<n;i++){
cin>>a[i];
if(a[i]!=1)f=1;
}
sort(a,a+n);
if(f){
cout<<"1"<<" ";
int i;
for(i=0;i<n-2;i++){
cout<<a[i]<<" ";
}
cout<<a[i]<<endl;
}
else{
if(n==1)cout<<"2"<<endl;
else{
for(int i=0;i<n-1;i++){
cout<<a[i]<<" ";
}
cout<<"2"<<endl;
}
}
}

正确

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e6+7;
ll a[N];
int main(){
int n;
cin>>n;
int f=0;
for(int i=0;i<n;i++){
cin>>a[i];
if(a[i]!=1)f=1;
}
sort(a,a+n);
if(f){
if(n==1)cout<<"1"<<endl;
else{
cout<<"1"<<" ";
int i;
for(i=0;i<n-2;i++){
cout<<a[i]<<" ";
}
cout<<a[i]<<endl;
}
}
else{
if(n==1)cout<<"2"<<endl;
else{
for(int i=0;i<n-1;i++){
cout<<a[i]<<" ";
}
cout<<"2"<<endl;
}
}
}

posted @ 2020-11-15 22:04  CHUNIN  阅读(53)  评论(0)    收藏  举报