UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#205026#1204. 压缩编码djf1000ms1192kbC++963b2024-06-20 23:58:402024-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)'