HDU1020 Encoding
生活随笔
收集整理的這篇文章主要介紹了
HDU1020 Encoding
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://acm.hdu.edu.cn/showproblem.php?pid=1020
題意 :給定一個字符串,只包含大寫字母,如果字符串中又連續相同的字母,個數大于1的話,就輸出該字母連續出現了幾個,再加上這個字母,如果只出現一次的話就輸出該字母即可。例如ABBCCC,A只出現了一次,就輸出A,B出現了兩次,就輸出2B,C出現了三次,就輸出3C。
思路 :本來我想用哈希來著,結果想想不對,不用那么麻煩,又改了,因為字符串不是很長,所以從頭開始找就行。一定要是連續的,ABAG,輸出ABAG。
//HDU1020 #include <iostream> #include <string.h> #include <stdio.h>using namespace std;char ch[11000] ; int sh[11000] ;int main() {int n ;scanf("%d",&n) ;for(int i = 0 ; i < n ; i++){scanf("%s",ch) ;int len = strlen(ch);for(int j = 0 ; j < len ; ){int cnt = 1 ;for(int k = j+1 ; k < len ; k++){if(ch[j] == ch[k])cnt++ ;elsebreak ;}if(cnt > 1){printf("%d%c",cnt,ch[j]) ;j += cnt ;}else{printf("%c",ch[j]) ;j++ ;}}cout<<endl ;}return 0 ; } View Code?
轉載于:https://www.cnblogs.com/luyingfeng/p/3438652.html
總結
以上是生活随笔為你收集整理的HDU1020 Encoding的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言实现--不带头结点的单链表操作
- 下一篇: 驱动创新 引领未来