标签:
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 using namespace std; 6 7 char str[100010]; 8 int a[5000000]; 9 10 int main() 11 { 12 int i,k,j,n,l; 13 scanf("%d",&k); 14 while(k--) 15 { 16 scanf("%s",str); 17 l=strlen(str); 18 memset(a,0,sizeof(a)); j=0; 19 for(i=l-1;i>=0;i--) 20 { 21 if(str[i]==‘A‘) 22 { 23 a[j++]=0;a[j++]=1;a[j++]=0;a[j++]=1; 24 } 25 else 26 if(str[i]==‘B‘) { 27 a[j++]=1;a[j++]=1;a[j++]=0;a[j++]=1; 28 } else 29 if(str[i]==‘C‘) 30 { 31 a[j++]=0;a[j++]=0;a[j++]=1;a[j++]=1; 32 } else 33 if(str[i]==‘D‘) { 34 a[j++]=1;a[j++]=0;a[j++]=1;a[j++]=1; 35 } else 36 if(str[i]==‘E‘) 37 { 38 a[j++]=0;a[j++]=1;a[j++]=1;a[j++]=1; 39 } 40 else 41 if(str[i]==‘F‘) 42 { 43 a[j++]=1;a[j++]=1;a[j++]=1;a[j++]=1; 44 } else { 45 n=str[i]-‘0‘; 46 int g=j; 47 while(n) 48 { 49 a[j++]=n%2; 50 n=n/2; 51 } 52 j=g+4; 53 } 54 55 } 56 int e,d,h=0; 57 for(i=0;i<j;i+=3) 58 { 59 d=1;n=0; 60 for(e=i;e<i+3;++e){ 61 n+=a[e]*d;d*=2; 62 } 63 a[h++]=n; 64 } 65 for(i=h-1;i>=0;i--) 66 if(a[i]!=0) break; 67 for(j=i;j>=0;j--) 68 printf("%d",a[j]); 69 printf("\n"); 70 } 71 return 0; 72 }
标签:
原文地址:http://www.cnblogs.com/WDKER/p/5140781.html