C++学習ノート(ブラシ問題ing)航電OJ(日常水問題)
24498 ワード
航電oj 2014:ユース歌手グランプリでは、審査員が参加選手に点数をつける.選手の得点ルールは、1つの最高点と1つの最低点を除いて、平均得点を計算することです.ある選手の得点をプログラミングして出力してください.
Input
入力データには複数のグループがあり、各グループは1行を占め、各行の最初の数はn(2)である.
Output
各組の入力データに対して、選手の得点を出力し、結果は2桁の小数を保持し、各組の出力は1行を占める.
Sample Input
3 99 98 97 4 100 99 98 97
Sample Output
98.00 98.50
航電oj 2015:Problem Description
長さn(n<=100)の数列があります.この数列は2から始まるインクリメント順序の偶数として定義されています.ここでは、m個の数ごとに平均値を求め、最後にm個未満であれば実際の数で平均値を求める必要があります.プログラムは、平均値シーケンスを出力します.
Input
入力データには複数のグループがあり、各グループは1行を占め、2つの正の整数nおよびm,nおよびmの意味を上述したように含む.
Output
各入力データのセットについて、平均値シーケンスが出力され、各セットの出力が1行を占めます.
Sample Input
3 2 4 2
Sample Output
3 6 3 7
航電oj 2017:Problem Description
指定された文字列について、数値文字が表示された回数を統計します.
Input
入力データは複数行あり、最初の行は整数nであり、テストインスタンスの個数を表し、後にn行が続き、各行にはアルファベットと数字からなる文字列が含まれている.
Output
各テストインスタンスについて、この列の数値の個数を出力し、各出力が1行を占めます.
Sample Input
2 asdfasdf123123asdfasdf asdf111111111asdfasdfasdf
Sample Output
6 9
航電oj 2018:Problem Description
1頭の雌牛がいて、毎年年の初めに1頭の子牛を産んでいます.子牛は4年目から毎年年初にも子牛を産む.プログラミングして実現してn年目の時、何頭の雌牛がありますか?
Input
入力データは複数のテストインスタンスからなり、各テストインスタンスは1行を占め、1つの整数n(0 n=0は入力データの終了を表し、処理しない.
Output
各試験例について、n年目の雌牛の数を出力した.出力ごとに1行を占めます.
Sample Input
2 4 5 0
Sample Output
2 4 6
航電oj 2019 Problem Description
n(n<=100)個の整数があり、小さい順に並べられています.ここで別の整数xを与えます.この数をシーケンスに挿入し、新しいシーケンスを秩序正しくしてください.
Input
入力データには複数のテストインスタンスが含まれており、各グループのデータは2行で構成され、1行目はnとmであり、2行目は秩序化されたn個数の数列である.nとmは同時に0に入力データの終了を示し,本行は処理しない.
Output
各テストインスタンスについて、新しい要素を挿入した数列を出力します.
Sample Input
3 3 1 2 4 0 0
Sample Output
1 2 3 4
Input
入力データには複数のグループがあり、各グループは1行を占め、各行の最初の数はn(2)である.
Output
各組の入力データに対して、選手の得点を出力し、結果は2桁の小数を保持し、各組の出力は1行を占める.
Sample Input
3 99 98 97 4 100 99 98 97
Sample Output
98.00 98.50
#include
#include
#include
using namespace std;
int main()
{
int n;
while(cin >> n) {
double a[100] = { 0 };
double avg = 0;
for(int i =0;i<n;i++){
cin >> a[i];
}
sort(a, a+n);
for (int i = 1; i < n-1; i++) {
avg += a[i];
}
avg = avg / (n - 2);
cout << setiosflags(ios::fixed) << setprecision(2);
cout << avg << endl;
}
}
航電oj 2015:Problem Description
長さn(n<=100)の数列があります.この数列は2から始まるインクリメント順序の偶数として定義されています.ここでは、m個の数ごとに平均値を求め、最後にm個未満であれば実際の数で平均値を求める必要があります.プログラムは、平均値シーケンスを出力します.
Input
入力データには複数のグループがあり、各グループは1行を占め、2つの正の整数nおよびm,nおよびmの意味を上述したように含む.
Output
各入力データのセットについて、平均値シーケンスが出力され、各セットの出力が1行を占めます.
Sample Input
3 2 4 2
Sample Output
3 6 3 7
#include
using namespace std;
int main()
{
int n,m,x,y;
while(cin >> n >> m) {
int a[100] = { 0 };
for (int i = 0; i < 100; i++) {
a[i] = 2 + 2 * i;
}
x = n / m;//
y = n % m;
for (int i = 0; i < n - y; i += m) {
double avg = 0;
for (int j = i; j < i + m; j++) {
avg += a[j];
}
avg = avg / m;
cout << avg ;
if (i + m != n - y) { cout << ' '; }
}
if (n%m != 0) {
double avg = 0;
for (int k = x * m; k < n; k++) {
avg += a[k];
}
avg = avg / y;
cout<<' ' << avg;
}
cout << endl;
}
}
航電oj 2017:Problem Description
指定された文字列について、数値文字が表示された回数を統計します.
Input
入力データは複数行あり、最初の行は整数nであり、テストインスタンスの個数を表し、後にn行が続き、各行にはアルファベットと数字からなる文字列が含まれている.
Output
各テストインスタンスについて、この列の数値の個数を出力し、各出力が1行を占めます.
Sample Input
2 asdfasdf123123asdfasdf asdf111111111asdfasdfasdf
Sample Output
6 9
#include
#include
using namespace std;
int main()
{
int n,length;
cin >> n;
string str;
while (n--) {
cin >> str;
int count = 0;
length = str.length();
for (int i = 0; i < length; i++) {
if (str[i] >= 48 && str[i] <= 57) count++;
}
cout << count << endl;
}
}
航電oj 2018:Problem Description
1頭の雌牛がいて、毎年年の初めに1頭の子牛を産んでいます.子牛は4年目から毎年年初にも子牛を産む.プログラミングして実現してn年目の時、何頭の雌牛がありますか?
Input
入力データは複数のテストインスタンスからなり、各テストインスタンスは1行を占め、1つの整数n(0 n=0は入力データの終了を表し、処理しない.
Output
各試験例について、n年目の雌牛の数を出力した.出力ごとに1行を占めます.
Sample Input
2 4 5 0
Sample Output
2 4 6
#include
using namespace std;
int main()
{
int n, years = 1, sum = 1;
int a[10000] = { 3,0,0,0 };
while (cin >> n) {
if (n == 0) break;
while (years != n) {
for (int i = 0; i < sum; i++) {
a[i]++;
if (a[i] >= 4)sum++;
}
years++;
}
cout << sum << endl;
}
}
航電oj 2019 Problem Description
n(n<=100)個の整数があり、小さい順に並べられています.ここで別の整数xを与えます.この数をシーケンスに挿入し、新しいシーケンスを秩序正しくしてください.
Input
入力データには複数のテストインスタンスが含まれており、各グループのデータは2行で構成され、1行目はnとmであり、2行目は秩序化されたn個数の数列である.nとmは同時に0に入力データの終了を示し,本行は処理しない.
Output
各テストインスタンスについて、新しい要素を挿入した数列を出力します.
Sample Input
3 3 1 2 4 0 0
Sample Output
1 2 3 4
#include
using namespace std;
int main()
{
int n,m;
int a[101] = { 0 };
while (cin >> n >> m) {
if (n == 0 && m == 0) break;
int flag = 0;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n; i++) {
if (a[i] > m) {
for (int j = n; j > i; j--) {
a[j] = a[j - 1];
}
a[i] = m;
break;
}
}
for (int i = 0; i <= n; i++) {
if (flag > 0) { cout << ' '; }
if (i == n) { cout << a[i] << endl; }
else{ cout << a[i]; }
flag++;
}
}
}