Mam problem z powyższym zadaniem. Problemem jest to, że mój program zostaje odrzucony przez sędziego ze względu na przekroczony limit czasu.
Zastanawiam się więc nad innym rozwiązaniem problemu, ale nie mogę go znleźć i chciałbym prosić o jakąś podpowiedź.
Oto mój kod(nie za bardzo wiem jak go wkleić, żeby był schludnie, więc jeżeli ktoś, mógłby mi powiedzieć jak to zrobić to byłoby miło):
#include <iostream>
#include <string>
using namespace std;
string kolej;
int main()
{
int ile;
int dlogosc_kolejki;
cin>>ile; //to licznik ilosci ciagow wprowadzonych
for(int i=1; i<=ile; i++)
//tu wykonuje sie petla ponawiajaca wprowadzenie ciagu itd.
{
cin>>kolej; //wprowadzamy ciag znakow
dlogosc_kolejki=kolej.length();
for(int y=dlogosc_kolejki-1; y>=1; y--) /*petla rusza od konca sprawdzajac czy poprzedni wyraz nie
jest wiekszy od poprzedzajacego go*/
{
if(kolej[y]>kolej[y-1])
{
kolej.erase(y-1, 1); //jezeli tak to go usuwa
dlogosc_kolejki--;
}
}
cout<<kolej<<endl; //wypisujemy ostateczna kolejke
}
return 0;
}
created
last reply
- 51
replies
- 4.0k
views
- 14
users
- 5
likes
- 10
links
There are 51 replies with an estimated read time of 7 minutes.