fork download
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<string.h>
  4. char s[100005];
  5. char cs(int a){
  6. switch(a){
  7. case 10: return 'A';
  8. case 11: return 'B';
  9. case 12: return 'C';
  10. case 13: return 'D';
  11. case 14: return 'E';
  12. case 15: return 'F';
  13. default: return a+'0';
  14. }
  15. }
  16. int main(){
  17. int t,n;
  18. scanf("%d",&t);
  19. while(t--){
  20. int i,k,l,m,d;
  21. scanf("%d",&n);
  22. scanf("%s",&s);
  23. if(n==2) printf("%s",s);
  24. else{
  25. l=0;m=strlen(s);
  26. if(n==4){
  27. k=2;
  28. }else if(n==8) k=3;
  29. else if(n==16) k=4;
  30. int du=m%k;
  31. if(du>0){
  32. for(i=0;i<du;i++)
  33. l=l*2+s[i]-'0';
  34. printf("%c",cs(l));
  35. }
  36. l=0;
  37. for(i=du;i<m;i++){
  38. l=l*2+s[i]-48;
  39. if((du > 0 && i%k==du-1)||(du==0 && i%k==k-1)){
  40. printf("%c",cs(l));
  41. l=0;
  42. }}
  43. }printf("\n");
  44. }return 0;
  45. }
Success #stdin #stdout 0s 5268KB
stdin
Standard input is empty
stdout
Standard output is empty