Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

FLAMASTE - Flamaster

Autor: Michał Franczak

Flamaster

Kasia niedawno poznała wszystkie literki w szkole. Z wielką pasją potrafiła całe dnie spędzać na pisaniu długich słów swoim ulubionym flamastrem. Pisała i pisała "tasiemce" tak długo, aż flamaster wypisał się. Kasia posmutniała. Z trudem, ale udało jej się uprosić swoją mamę, aby kupiła jej nowy pisak. Musiała jednak obiecać, że tym razem będzie bardziej oszczędna przy jego używaniu żeby wystarczył na dłużej. Kasia zaczęła zastanawiać się w jaki sposób będzie mogła zrealizować obietnicę daną mamie.

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.

Zadanie

Twoim zadaniem jest dla zadanego wyrazu, który wymyśliła Kasia, podanie skróconej wersji tego wyrazu.

Wejście

W pierwszej linijce wejścia znajduje się liczba naturalna C, 1 ≤ C ≤ 50, oznaczająca ilość zestawów danych. W kolejnych C wierszach wejścia znajdują się zestawy danych. Każdy zestaw składa się z niepustego wyrazu złożonego z samych dużych liter alfabetu amerykańskiego. Długość wyrazu nie przekracza 200 znaków.

Wyjście

Dla każdego zestawu danych, dla zadanego wyrazu, na wyjściu powinna znaleźć się jego skrócona wersja.

Przykład

Dla danych wejściowych:
4
OPSS
ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL
AAAAAAAAAABBBBBBBBBBBBBBBB
prawidłowym rozwiązaniem jest:
OPSS
ABCDEF
ABBC3D4E5FGGHIIJK3L
A10B16

Dodane przez:Rafal Nowak
Data dodania:2005-04-04
Limit czasu wykonania programu:0.219s
Limit długości kodu źródłowego2000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ERL GOSU JS-RHINO NODEJS PERL6 VB.NET
Pochodzenie:OPSSesja Algorytmiczna 2005-04

ukryj komentarze
2018-05-10 10:42:04
To zadanie można rozwiązać w bardzo prosty sposób :)
2018-03-29 17:55:18
Wyskoczyło mi błąd kompilacji a dokładnie:
prog.cpp:2:19: fatal error: conio.h: No such file or directory
#include
^
compilation terminated.

Nie mogę używać conio.h czy o co chodzi?
2018-03-22 21:38:40
Mój kod:
#include <iostream>
#include <cstdlib>
#include <string>


using namespace std;

int main()
{
int t;
cin>>t;

for(int j=0; j<t;j++)
{
string wyraz;
cin>>wyraz;
for(int i=0; i<wyraz.length(); i++)
{
int licznik=3;
if(wyraz[i] == wyraz[i+1] && wyraz[i+1]==wyraz[i+2])
{
wyraz.erase(i+1,2);
while(wyraz[i]==wyraz[i+1])
{
licznik++;
wyraz.erase(i+1,1);
}
string str = to_string(licznik);
wyraz.insert(i+1,str);
}
}
cout<<wyraz<<endl;
}

return 0;
}

najlepsze jest to że u mnie on nie działa a i tak został zaakceptowany xd
2018-03-15 14:34:02
Strasznie dużo problemu sprawiło mi to zadanie, w końcu rozwiązałem je na zasadzie stosu.
2018-03-11 21:54:10
Witam, program dziala na CB ale sedzie go nie akceptuje, wyrzuca jakis abort() signal cos tam ... wiecie może czy moze to byc spowodowane uzyciem #include <sstream> tej biblioteki w celu dokonania takiej kowersji inta na string ?
stringstream conv;
conv << hm;
string digit;
conv >> digit;

pozdro
2018-02-22 12:42:35
Kilka godzin meczylem sie nad tym zadaniem, ale widok "Zielonego okienka" w spoju jest po prostu bezcenny. :D
Przy okazji wiele mozna sie nauczyc.
2018-02-10 12:14:58
Jak ktoś się czepia o testy i nie moze znalezc bledu niech sobie spróbuje test:

1
ABAAA

Odpowiedz poprawna
ABA3
2018-02-04 22:53:14
Zaliczyło za pierwszym :D męczyłem się parę godzin i sędzia zaakceptował za pierwszym :D satysfakcja gwarantowana :D
2018-01-17 17:20:15
import java.util.Scanner;


public class Main {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
char z;
int l;
for(int j = 0; j < n; j++) {
String a = scan.next();
l = 1;
z = a.charAt(0);
if(a.length()==1) System.out.print(z);
for(int i = 1; i < a.length(); i++) {
if(a.charAt(i) != z) {
if(l>2) {
System.out.print(z);
System.out.print(l);
}
if(l == 2) {
System.out.print(z);
System.out.print(z);
}
if(l == 1) System.out.print(z);
if(i+1 == a.length()) {
System.out.print(a.charAt(i));
}
l = 1;
}
if(a.charAt(i) == z) {
l++;
if(i+1 == a.length()) {
if(l>2) {
System.out.print(a.charAt(i));
System.out.print(l);
}
if(l == 2) {
System.out.print(a.charAt(i));
System.out.print(a.charAt(i));
}
if(l == 1) System.out.print(a.charAt(i));
}
}
z = a.charAt(i);
}
System.out.println("");
}
scan.close();
}
}
2017-12-26 11:50:52
gdy spoj sprawdza twoje zadanie to on w testach ma same dane zgadzające się z treścią zadania. Czyli po prostu nie będzie takiego przypadku, więc nic nie ma robić
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.