problema #1366 de pe pbinfo
Se dau n numere întregi. Să se insereze între oricare două numere de aceeași paritate media lor aritmetică. Algoritmul se va relua în mod repetat până când nu se mai poate adăuga șirului niciun nou element.
exemplu
date de intrare
6
1 41 3 3 4 8
date de iesire
1 41 3 3 4 8
1 21 41 22 3 3 4 6 8
1 11 21 31 41 22 3 3 4 5 6 7 8
1 6 11 16 21 26 31 36 41 22 3 3 4 5 6 7 8
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int a[100001];
int main()
{
long long int n, i, j, ok=1;
cin >> n;
for (i=1; i<=n; ++i) cin >> a[i];
while (ok)
{
for (i=1; i<=n; ++i)
cout << a[i] << " ";
cout << "\n";
ok=0;
for (i=1; i<n; ++i)
if ((a[i]+a[i+1])%2==0 && a[i]!=a[i+1])
{
++n; for (j=n; j>i+1; --j) a[j]=a[j-1];
a[i+1]=(a[i]+a[i+1])/2; ++i; ++ok;
}
}
return 0;
}
Explicație:
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
9 ani în urmă