ZOJ 3713

来源:互联网 发布:淘宝网演出服装 编辑:程序博客网 时间:2024/06/05 15:17

题意:给定一个字符串,用字符串ASC2码16进制数输出 ,并在前面输出字符串长度的16进制,输出长度的规则是 先输出长度的二进制数的后七位的十六进制(如果左边还有1 则这在后七位前面加上个1再输出  然后二进制数右移动七位,直到左边没有1)   注:所有16数都必须为两位!

解题思路:对长度进行输出处理

解题代码

//200ms#include<vector>#include<map>#include<queue>#include<stack>#include<cmath>#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;char s[3000010];int main(){    int ca;  //  printf("%02X\n",128);    scanf("%d",&ca);    getchar();    while(ca--)    {        int t;        gets(s);        int len=strlen(s);        while(len>=128){            printf("%02X",len%128+128);            len=len>>7;        }        printf("%02X",len);        for(int i=0;s[i]!='\0';i++)//一开始写i<strlen(s),妥妥的超时        {            printf("%02X",s[i]);        }        printf("\n");    }}


0 0
原创粉丝点击