PTA 7-1数表(20点)
問題を作る前に:
明ちゃんは勉強が好きないい子で、授業中に先生がこんな宿題を出しました.
N個の正の整数からなる1枚の数表に基づいて、2つを加算して新しい数(N∗(N−1)/2個)を得、その後、新しい数を非減算で並べ替えた.
例えば、数表に1、4、3、9の4つの数が含まれている場合、正解は4、5、7、10、12、13です.
プログラミングして明ちゃんのこの問題を完成させてください.
入力形式:データは2行あり、1行目は整数N(1)
2行目は、数表のN個の整数(0≦整数≦5000)であり、隣接する整数間は1つのスペースで区切られている.
入力したN個の整数が重複しないことを確認します.
≪出力フォーマット|Output Format|emdw≫:昇順に並べられた整数のセットの和を出力し、隣接する整数の間をスペースで区切ります.
入力サンプル:ここで入力のセットを指定します.例:
出力サンプル:ここで対応する出力を示します.例:
メソッド:2つの加算値を1つのコンテナで格納し、コンテナをソートして出力します.
明ちゃんは勉強が好きないい子で、授業中に先生がこんな宿題を出しました.
N個の正の整数からなる1枚の数表に基づいて、2つを加算して新しい数(N∗(N−1)/2個)を得、その後、新しい数を非減算で並べ替えた.
例えば、数表に1、4、3、9の4つの数が含まれている場合、正解は4、5、7、10、12、13です.
プログラミングして明ちゃんのこの問題を完成させてください.
入力形式:データは2行あり、1行目は整数N(1)
2行目は、数表のN個の整数(0≦整数≦5000)であり、隣接する整数間は1つのスペースで区切られている.
入力したN個の整数が重複しないことを確認します.
≪出力フォーマット|Output Format|emdw≫:昇順に並べられた整数のセットの和を出力し、隣接する整数の間をスペースで区切ります.
入力サンプル:ここで入力のセットを指定します.例:
4
1 4 3 9
出力サンプル:ここで対応する出力を示します.例:
4 5 7 10 12 13
メソッド:2つの加算値を1つのコンテナで格納し、コンテナをソートして出力します.
#include
#include
#include
using namespace std;
int main(){
int n;
int a[200];
vector<int>vec;
cin>>n;
for(int i=0;i<=n-1;i++){
cin>>a[i];
}
if(n==1){
cout<<a[0];
return 0;
}
for(int i=0;i<=n-1;i++){
int ini=0;
for(int h=i+1;h<=n-1;h++){
ini=a[i]+a[h];
vec.push_back(ini);}
}
sort(vec.begin(), vec.end()); //
for(vector<int>::iterator it=vec.begin(); it!=vec.end()-1; it++){
cout<<*it<<" ";
}
cout<<vec.back();
return 0;
}