首页 > 其他 > 详细

zoj 3713 In 7-bit

时间:2014-03-11 16:00:46      阅读:390      评论:0      收藏:0      [点我收藏+]

刚开始没注意它规定的范围,就是用了位运算。感觉挺好。已提交超时了!回头看它的数组非常大,一个循环内部稍微多几步操作就会超时

bubuko.com,布布扣
#include<stdio.h>
#include<string.h>
char str[3000006];
int main(int argc, char* argv[])
{
    int t,i;
    int len;
    
    int pre,later;
    while(scanf("%d",&t)!=EOF)
    {
        getchar();
        while(t--)
        {
            
            gets(str);
            len=strlen(str);
            do
            {
                pre=len>>7;
                later=len&127;
                if(pre>0)
                later=later|128;
                printf("%02X",later);
                len=len>>7;
                
            }while(pre!=0);/*如果前面还有1就在循环一直到长度的所有值输出完毕 */
            for(i=0;i<strlen(str);i++)
            printf("%02X",str[i]);
            
            printf("\n");
        }
    }
    return 0;
}
bubuko.com,布布扣

后来看网上的,确实比我的省时多了

bubuko.com,布布扣
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
char str[3000005];/*最高位是22位*/ 
int bi[100];
int main()
{
   int t,k,b,d,c,i; 
   scanf("%d",&t);
   getchar();
   while(t--)
   {
      gets(str);
      k = strlen(str);
      b = 2097152,c = 16384 , d= 128;/*高位第22,15,8位*/
      if(k >= b)/*最高位21位上是为1*/ 
      {
        printf("%02X",k%d+d);/*取余加上第8位的1*/ 
        printf("%02X",k%c/d+d);
        printf("%02X",k%b/c+d);
        printf("%02X",k/b); 
      }
      else if(k >= c)/*第二个个高位14位上是为1*/ 
      {
         printf("%02X",k%d+d);
         printf("%02X",k%c/d+d);
         printf("%02X",k/c);
      }
      else if(k >= d)/*第7为上位1*/ 
      {
        printf("%02X",k%d+d);
         printf("%02X",k/d);
      }
      else 
      printf("%02X",k);
      
      for(i = 0 ;i < k ;i ++)  
      printf("%02X",str[i]);
       printf("\n");
      
   
   }
return 0 ;
}
bubuko.com,布布扣

zoj 3713 In 7-bit,布布扣,bubuko.com

zoj 3713 In 7-bit

原文:http://www.cnblogs.com/woshijishu3/p/3592691.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!