poj 1782 Run Length Encoding

模拟题,trick很多。。。
#include <stdio.h>
#include 
<string.h>

char str[1000];

int main()
{
    memset(str, 
0sizeof(str));
    
while ( !feof(stdin) )
    {
        gets(str);
        
if (!str[0])
        {
            putchar(
10);
            
continue;
        }
        
int i, j;
        
for ( i = 0 ; str[i] ; i++ )
        {
            
if (str[i] == str[i+1])
            {
                
for ( j = i ; str[i] == str[i+1&& (i-j) < 8 ; i++ );
                printf(
"%d%c", i-j+1, str[i]);
            }
            
else
            {
                printf(
"1");
                
for ( j = i ; str[i] != str[i+1&& str[i] ; i++ )
                {
                    
if ('1' == str[i]) printf("1");
                    printf(
"%c", str[i]);
                }
                printf(
"1");
                
if ( str[i] == str[i+1]) i--;
            }
        }
        putchar(
10);
        memset(str, 
0sizeof(str));
    }
    
return 0;
}

posted on 2011-08-24 00:42 purplest 阅读(325) 评论(0)  编辑 收藏 引用 所属分类: String Algorithm模拟


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年8月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿

随笔分类(70)

随笔档案(68)

ACMer

搜索

最新随笔

最新评论