问题 : Decimal integer conversion
时间限制: 1 Sec 内存限制: 128 MB题目描述
输入
输出
样例输入
1
1010
212
样例输出
14
解题思路
水题,直接暴力,把所有的情况都跑一遍就可以了。
#include <stdio.h>
#include <string.h>
int main()
{
int t, A, B, lena, lenb, temp;
char a[1010], b[1010];
scanf("%d%*c", &t);
while (t--)
{
temp = 0;
scanf("%s%s", a, b);
lena = strlen(a);
lenb = strlen(b);
for (int i = 0; i < lena; i++)
{
A = 0;
a[i] = (a[i] - '0' + 1) % 2 + '0';
for (int j = 0; j < lena; j++)
A = A * 2 + a[j] - '0';
a[i] = (a[i] - '0' + 1) % 2 + '0';
for (int j = 0; j < lenb; j++)
{
B = 0;
b[j] = (b[j] - '0' + 1) % 3 + '0';
for (int k = 0; k < lenb; k++)
B = B * 3 + b[k] - '0';
if (A == B)
{
temp = 1;
break;
}
B = 0;
b[j] = (b[j] - '0' + 2) % 3 + '0';
b[j] = (b[j] - '0' + 2) % 3 + '0';
for (int k = 0; k < lenb; k++)
B = B * 3 + b[k] - '0';
if (A == B)
{
temp = 1;
break;
}
b[j] = (b[j] - '0' + 1) % 3 + '0';
}
if (temp)
break;
}
printf("%d\n", A);
}
return 0;
}