45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
#include <bits/stdc++.h>
|
||
|
||
using namespace std;
|
||
|
||
int main() {
|
||
int i, j;
|
||
int n1, n2;
|
||
char char_sliver_one[50] = {'0'};
|
||
char char_sliver_two[50] = {'0'};
|
||
int sliver_one[50];
|
||
int sliver_two[50];
|
||
int flag;
|
||
int times = 0;
|
||
cin >> times;
|
||
while (times--) {
|
||
cin >> char_sliver_one >> char_sliver_two;
|
||
n1 = strlen(char_sliver_one);
|
||
n2 = strlen(char_sliver_two);
|
||
j = 0;
|
||
flag = 1;
|
||
|
||
//循环遍历将字符转为数字存进数组
|
||
for (i = 0; i < n1; i++)
|
||
sliver_one[i] = char_sliver_one[i] - 48;
|
||
for (i = 0; i < n2; i++)
|
||
sliver_two[i] = char_sliver_two[i] - 48;
|
||
|
||
while (j < n1 && flag > 0)//如果flag==0,说明遍历之后没有一个不满足条件的
|
||
{
|
||
flag = 0;//一开始默认是成立的
|
||
for (i = 0; i < n2; i++) {
|
||
if (sliver_one[i + j] + sliver_two[i] > 3)//遍历找是否有不满足条件的
|
||
{
|
||
flag = 1;//如果确实不满足条件
|
||
j++;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
if (n1 < n2 + j) cout << "最小长度为:" << j + n2 << endl;
|
||
else cout << "最小长度为:" << n1 << endl;
|
||
}
|
||
return 0;
|
||
}
|