Pozwolę sobie podpiąć się do tematu.
Napisałem kod, który przechodzi testy jednak SPOJ wyrzuca błędną odpowiedź:
#include <iostream>
#include <string>
using namespace std;
void abbr(string input) {
char last;
int count = 1;
for(int i = 0; i <= input.size(); i++) {
if(input[i] == last) {
count++;
} else {
if(count == 2) {
cout << last;
} else if(count > 2) {
cout << count;
}
cout << input[i];
count = 1;
}
last = input[i];
}
}
int main() {
int n;
string input;
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> input;
abbr(input);
cout << "\n";
}
return 0;
}
Byłbym wdzięczny, za jakąś podpowiedź w czym problem .