Start: Jan, 08, 2018 19:10:00
2017年秋季学期程序设计基础(C语言)期末考试
End: Jan, 08, 2018 21:40:00
Time elapsed:
Time remaining:

Problem_ID: H
Result: Accepted
Time: 7ms
Memory: 1092kB
In contest: 1139

#include<stdio.h>
#include<string.h>
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int n,m,i;
		char s[1000],ss[1000];
		int sss[1000];
		scanf("%s%d%d",s,&n,&m);
		int len=strlen(s),z=n/4,x=n%4,c,v,b,bb,sum;
		for(i=0;i<len;i++)
		{
			b=4;
			v=(i+1)*4-1;
			if(s[i]>='a'&&s[i]<='f')
				c=s[i]-87;
			else
				c=s[i]-48;
			while(b!=0)
			{
				sss[v]=c%2;
				c/=2;
				v--;
				b--;
			}
		}
		for(i=n-1;i>=0;i--)
		{
			sss[i]=m%2;
			m/=2;
		}
		for(i=0;i<4*len;i+=4)
		{
			sum=0;
			for(int j=i;j<i+4;j++)
			{
				sum*=2;
				sum+=sss[j];
			}

			if(sum<=9)
				printf("%d",sum);
			if(sum==10)
				printf("a");
			if(sum==11)
				printf("b");
			if(sum==12)
				printf("c");
			if(sum==13)
				printf("d");
			if(sum==14)
				printf("e");
			if(sum==15)
				printf("f");
		}
		printf("\n");
	}
	
}