ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#205026 | #1204. 压缩编码 | djf | 100 | 0ms | 1192kb | C++ | 963b | 2024-06-20 23:58:40 | 2024-06-20 23:58:42 |
answer
/*
在数据压缩中,一个常用的途径是行程长度压缩。
对于一个待压缩的字符串而言,我们可以依次记录每个字符及重复的次数。这种压缩,对于相邻数据重复较多的情况比较有效。
例如,如果待压缩串为"AAABBBBCBB",则压缩的结果是(A,3)(B,4)(C,1)(B,2)。
当然,如果相邻字符重复情况较少,则压缩效率就较低。
*/
#include <iostream>
#include <string.h>
using namespace std;
const int N = 1010;
int a[N];
char b[N];
char word[N];
int count = 0;
int flag = 0;
int main(){
cin>>word;
int len = strlen(word);
for(int i =0; i<= len; i++){
if(i!=len)
word[i] = toupper(word[i]);
else word[i]= '0';
}
for(int i = 0; i <= len; i++ ){
if(i != 0 && word[i] != word[i-1]){
a[flag] = count;
count = 0;
flag ++;
}
b[flag] = word[i];
count++;
}
for(int i = 0 ;i<flag;i++){
cout<<"("<<b[i]<<","<<a[i]<<")";
}
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1184kb
input:
MuzcyzmPunQNBZxAoAMvcDcyAlokvkiPJVdFMdnhgmmwvAnKfzVwCjYVVPyuazgzHFeIkUYYAEsKltpSyeHGFeGieLyFjHgLsMqh...
output:
(M,1)(U,1)(Z,1)(C,1)(Y,1)(Z,1)(M,1)(P,1)(U,1)(N,1)(Q,1)(N,1)(B,1)(Z,1)(X,1)(A,1)(O,1)(A,1)(M,1)(V,1)...
result:
ok single line: '(M,1)(U,1)(Z,1)(C,1)(Y,1)(Z,1)...)(U,1)(L,1)(M,1)(D,2)(X,1)(S,1)'
Test #2:
score: 10
Accepted
time: 0ms
memory: 1188kb
input:
HcWBaUZFSYfZkWrUjXsUjVAvVGfDddAdYRqlNWFKkxRehqcFnZXgtudIzGYhyQqZZElRTDxQPwKePnNpuViAFkkpftSlGwTlWTDA...
output:
(H,1)(C,1)(W,1)(B,1)(A,1)(U,1)(Z,1)(F,1)(S,1)(Y,1)(F,1)(Z,1)(K,1)(W,1)(R,1)(U,1)(J,1)(X,1)(S,1)(U,1)...
result:
ok single line: '(H,1)(C,1)(W,1)(B,1)(A,1)(U,1)...)(W,1)(O,1)(W,1)(T,1)(I,1)(S,1)'
Test #3:
score: 10
Accepted
time: 0ms
memory: 1184kb
input:
ABaBcbbABba
output:
(A,1)(B,1)(A,1)(B,1)(C,1)(B,2)(A,1)(B,2)(A,1)
result:
ok single line: '(A,1)(B,1)(A,1)(B,1)(C,1)(B,2)(A,1)(B,2)(A,1)'
Test #4:
score: 10
Accepted
time: 0ms
memory: 1188kb
input:
iqXgwbTDKwWhejSGTleBVSKOHVGVCNjNPhjZmbYKWLXdUfTBrKZoncZxXtSlBiuyYFSRJXNQzNJaNtigXDGkUsJvmSewtORYGDBb...
output:
(I,1)(Q,1)(X,1)(G,1)(W,1)(B,1)(T,1)(D,1)(K,1)(W,2)(H,1)(E,1)(J,1)(S,1)(G,1)(T,1)(L,1)(E,1)(B,1)(V,1)...
result:
ok single line: '(I,1)(Q,1)(X,1)(G,1)(W,1)(B,1)...)(L,1)(X,1)(P,1)(T,1)(X,1)(Y,1)'
Test #5:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
YUiwGjfAuOWqWzVPsXTDZLXKhzUFnQrwgoBynpXFcdkkLCGvSmrbGRLHlavHsRsDgbGAtJxvASljeKiqpWWvJeYblsznKqPKRtpY...
output:
(Y,1)(U,1)(I,1)(W,1)(G,1)(J,1)(F,1)(A,1)(U,1)(O,1)(W,1)(Q,1)(W,1)(Z,1)(V,1)(P,1)(S,1)(X,1)(T,1)(D,1)...
result:
ok single line: '(Y,1)(U,1)(I,1)(W,1)(G,1)(J,1)...)(G,1)(P,1)(E,1)(N,1)(D,1)(U,1)'
Test #6:
score: 10
Accepted
time: 0ms
memory: 1188kb
input:
ccBCACbcacbcAcaAbBBcCBAaab
output:
(C,2)(B,1)(C,1)(A,1)(C,1)(B,1)(C,1)(A,1)(C,1)(B,1)(C,1)(A,1)(C,1)(A,2)(B,3)(C,2)(B,1)(A,3)(B,1)
result:
ok single line: '(C,2)(B,1)(C,1)(A,1)(C,1)(B,1)...)(A,2)(B,3)(C,2)(B,1)(A,3)(B,1)'
Test #7:
score: 10
Accepted
time: 0ms
memory: 1188kb
input:
RXpYieyBCHROEGoNbvzTjBFPvnVoJfGsULHxQGpTfHcfqEYeaGtZttqWYYnRuUSBUqwaxjSHyvugKyhooHqdqdNFyVTQIrhgOGYa...
output:
(R,1)(X,1)(P,1)(Y,1)(I,1)(E,1)(Y,1)(B,1)(C,1)(H,1)(R,1)(O,1)(E,1)(G,1)(O,1)(N,1)(B,1)(V,1)(Z,1)(T,1)...
result:
ok single line: '(R,1)(X,1)(P,1)(Y,1)(I,1)(E,1)...)(W,1)(Y,1)(L,1)(N,1)(I,1)(X,1)'
Test #8:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
HixVfpVMokuZvMqwzxvGkvixuyaworFyLDPaDqaYUFjLbeemAVyGwJETLrBPjHLkpyUdatzNjMJUehXCkgydXpgYxCursXQnxDEq...
output:
(H,1)(I,1)(X,1)(V,1)(F,1)(P,1)(V,1)(M,1)(O,1)(K,1)(U,1)(Z,1)(V,1)(M,1)(Q,1)(W,1)(Z,1)(X,1)(V,1)(G,1)...
result:
ok single line: '(H,1)(I,1)(X,1)(V,1)(F,1)(P,1)...)(V,1)(P,1)(G,1)(V,1)(R,1)(H,1)'
Test #9:
score: 10
Accepted
time: 0ms
memory: 1188kb
input:
aCbaCbabBBBaABacCaACCacbCcAcbaBbbccBBBcaccCcBaacAAAaaCabCbaCBbcABAaABACBBbBcccCAcCaCcaCBCbccbcc
output:
(A,1)(C,1)(B,1)(A,1)(C,1)(B,1)(A,1)(B,4)(A,2)(B,1)(A,1)(C,2)(A,2)(C,2)(A,1)(C,1)(B,1)(C,2)(A,1)(C,1)...
result:
ok single line: '(A,1)(C,1)(B,1)(A,1)(C,1)(B,1)...)(B,1)(C,1)(B,1)(C,2)(B,1)(C,2)'
Test #10:
score: 10
Accepted
time: 0ms
memory: 1184kb
input:
oQWFeydmPqPUVjyabHCYJiaZDyoKQgXqWBnaDhIqWwaWNbxMbFegiKbSHqlzCPzlptaFZjbBUThkyMqubQBAmonHEcbufHSDrIrb...
output:
(O,1)(Q,1)(W,1)(F,1)(E,1)(Y,1)(D,1)(M,1)(P,1)(Q,1)(P,1)(U,1)(V,1)(J,1)(Y,1)(A,1)(B,1)(H,1)(C,1)(Y,1)...
result:
ok single line: '(O,1)(Q,1)(W,1)(F,1)(E,1)(Y,1)...)(G,1)(K,1)(G,2)(P,1)(B,1)(L,1)'