Witam mam pewien problem z zadaniem Flamaster.
Kasia postanowiła, że aby zaoszczędzić wkład flamastra będzie wypisywała skróconą wersję wymyślanych wyrazów. Jeśli miała zamiar napisać więcej niż dwie takie same literki obok siebie w wyrazie, to teraz napisze literkę a następnie liczbę, określającą ilość wystąpień tej literki.
Dla każdego zestawu danych, dla zadanego wyrazu, na wyjściu powinna znaleźć się jego skrócona wersja.
Wejście
4
OPSS ----> OPSS
ABCDEF---->ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL---->ABBC3D4E5FGGHIIJK3L
AAAAAAAAAABBBBBBBBBBBBBBBB---->A10B16
Napisałem taki kod, który zwraca poprawną wartość w moim kompilatorze natomiast po wysłaniu do SPOJA otrzymuje komunikat błąd kompilacji.
#include <iostream>
using namespace std;
int main()
{
string tekstwy="";
string napis;
int liczba_testow,dlugosc,ile;
cin>>liczba_testow;
for(int i=0; i<liczba_testow; i++)
{
cin>>napis;
dlugosc=napis.size();
for(int j=0; j<dlugosc; j++)
{
if(napis[j]==napis[j+1])
{
ile++;
}
else
{
if(ile==0)
{
tekstwy+=napis[j];
ile=0;
}
else if(ile==1)
{
tekstwy=tekstwy+napis[j]+napis[j];
ile=0;
}
else
{
tekstwy+=napis[j]+to_string(ile+1);
ile=0;
}
}
}
cout<<tekstwy<<endl;
tekstwy="";
}
return 0;
}