Răspuns :
#include <iostream>
using namespace std;
struct elev{char ch; int h; int poz;}e[101];
int n, i, j, b;
int main()
{
cin >> n;
for (i=1; i<=n; ++i)
{
cin >> e[i].ch >> e[i].h;
if (e[i].ch=='B') ++b;
e[i].poz=i;
}
for (i=1; i<n; ++i)
{
for (j=i+1; j<=n; ++j)
if (e[i].ch=='F' && e[j].ch=='B') swap(e[i],e[j]);
}
for (i=1; i<b; ++i)
{
for (j=i+1; j<=b; ++j)
{
if (e[i].h<e[j].h) swap(e[i],e[j]);
else if (e[i].h==e[j].h && e[i].poz>e[j].poz) swap(e[i],e[j]);
}
}
for (i=b+1; i<n; ++i)
{
for (j=i+1; j<=n; ++j)
{
if (e[i].h<e[j].h) swap(e[i],e[j]);
else if (e[i].h==e[j].h && e[i].poz>e[j].poz) swap(e[i],e[j]);
}
}
for (i=1; i<=n; ++i)
cout << e[i].poz << " ";
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.