1138-トリップコード
2155 ワード
コースコード
Time Limit:1000MS Memory Limit:65536K Total Submit:131 Accepted:63
Description
ストローク符号化は「運転長符号化」または「ストローク長符号化」とも呼ばれ、無損圧縮符号化に属する統計符号化である.二値図で有効です.RLEストローク長符号化の概要現在、圧縮技術は様々なソフトウェア、音声、映像フォーマットなどの分野に広く応用されている.総じて、有損圧縮と無損圧縮の2つの異なる画像フォーマット圧縮タイプがある[1].有損圧縮は視覚認識の原理を用いてファイルのデータを大幅に圧縮できるが,画像品質に影響を及ぼす.無損圧縮の基本原理は、同じ色情報を1回保存するだけで、重複データを削除し、ディスクに保存する画像の容量を大幅に削減することです.無損圧縮法の利点は、画像の品質を比較的良く保存できることであるが、この方法の圧縮率は、損失圧縮に対して比較的低い.よく用いられる無損圧縮アルゴリズムにはRLE,LZWなどがある.RLE圧縮アルゴリズムの基本原理RLE(Run-Length Encodingストローク長符号化)圧縮アルゴリズムは、Windowsシステムで用いられる画像ファイル圧縮方法であり、1走査行の色値が同じ隣接画素を2バイトで表し、1バイト目はカウント値であり、画素の繰返し回数を指定するために用いられる.2バイト目は特定の画素の値である[2].主に、データ内の冗長バイトまたはバイト内の冗長ビットを圧縮して除去することで、ファイルの占有スペースを削減する目的を達成します.例えば、色画素値を表す文字列RRRGBBBBBBがあり、RLE圧縮法で圧縮すると5 R 2 G 6 Bで代用でき、後者の列長は前者の列長よりはるかに小さいことが明らかになった.復号は符号化時と同じ規則で行い,復元後のデータは圧縮前のデータと全く同じである.従って、RLEは非破壊圧縮技術である.
Input
入力された最初の行は、整数Nであり、N組のテストデータがあることを示す.次のN行は、各行に文字列があります.(小文字で1000未満の長さ)
Output
エンコードされた文字列.
Sample Input
Sample Output
Hint
ahstu@icpc2014
Source
Time Limit:1000MS Memory Limit:65536K Total Submit:131 Accepted:63
Description
ストローク符号化は「運転長符号化」または「ストローク長符号化」とも呼ばれ、無損圧縮符号化に属する統計符号化である.二値図で有効です.RLEストローク長符号化の概要現在、圧縮技術は様々なソフトウェア、音声、映像フォーマットなどの分野に広く応用されている.総じて、有損圧縮と無損圧縮の2つの異なる画像フォーマット圧縮タイプがある[1].有損圧縮は視覚認識の原理を用いてファイルのデータを大幅に圧縮できるが,画像品質に影響を及ぼす.無損圧縮の基本原理は、同じ色情報を1回保存するだけで、重複データを削除し、ディスクに保存する画像の容量を大幅に削減することです.無損圧縮法の利点は、画像の品質を比較的良く保存できることであるが、この方法の圧縮率は、損失圧縮に対して比較的低い.よく用いられる無損圧縮アルゴリズムにはRLE,LZWなどがある.RLE圧縮アルゴリズムの基本原理RLE(Run-Length Encodingストローク長符号化)圧縮アルゴリズムは、Windowsシステムで用いられる画像ファイル圧縮方法であり、1走査行の色値が同じ隣接画素を2バイトで表し、1バイト目はカウント値であり、画素の繰返し回数を指定するために用いられる.2バイト目は特定の画素の値である[2].主に、データ内の冗長バイトまたはバイト内の冗長ビットを圧縮して除去することで、ファイルの占有スペースを削減する目的を達成します.例えば、色画素値を表す文字列RRRGBBBBBBがあり、RLE圧縮法で圧縮すると5 R 2 G 6 Bで代用でき、後者の列長は前者の列長よりはるかに小さいことが明らかになった.復号は符号化時と同じ規則で行い,復元後のデータは圧縮前のデータと全く同じである.従って、RLEは非破壊圧縮技術である.
Input
入力された最初の行は、整数Nであり、N組のテストデータがあることを示す.次のN行は、各行に文字列があります.(小文字で1000未満の長さ)
Output
エンコードされた文字列.
Sample Input
2
aabbbb
iiiiillllovvveeeeeeeaaaccccccccmmmmmmmmmm
Sample Output
2a4b
5i4l1o3v7e3a8c10m
Hint
ahstu@icpc2014
Source
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AK1138 {
class Program {
static void Main(string[] args) {
int n = int.Parse(Console.ReadLine());
while (n-- > 0) {
string s = Console.ReadLine();
while (s.Length > 0) {
int count = 1;
for (int i = 1 ; i < s.Length ; i++) {
if (s[i - 1] != s[i]) {
break;
}
count++;
}
Console.Write(count);
Console.Write(s[0]);
s = s.Remove(0 , count);
}
Console.WriteLine();
}
}
}
}