64,683
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
using namespace std;
bool Find(char *A, char *B, char *C, int m, int n, int s) {
if (s == -1) return true;
else if (m == -1 || n == -1) return false;
else {
if (A[m] == B[n] && B[n] == C[s]) Find(A, B, C, m - 1, n - 1, s - 1);
if (C[s] != B[n] && A[m] != C[s]) Find(A, B, C, m - 1, n - 1, s);
if (A[m] != B[n] && A[m] == C[s]) Find(A, B, C, m, n - 1, s);
if (A[m] != B[n] && B[n] == C[s]) Find(A, B, C, m - 1, n, s);
}
}
int main() {
char a[7] = "abc123";
char b[7] = "adc234";
char c[4] = "a23";
int x;
x = Find(a, b, c, 5, 5, 2);
cout << x << endl;
system("pause");
return 0;
}
#include<iostream>
using namespace std;
bool Find(char *A, char *B, char *C, int m, int n, int s) {
if (s == -1)
return true;
else if (m == -1 || n == -1)
return false;
else
{
if (A[m] == B[n] && B[n] == C[s])
Find(A, B, C, m - 1, n - 1, s - 1);
if (C[s] != B[n] && A[m] != C[s])
Find(A, B, C, m - 1, n - 1, s);
if (A[m] != B[n] && A[m] == C[s])
Find(A, B, C, m, n - 1, s);
if (A[m] != B[n] && B[n] == C[s])
Find(A, B, C, m - 1, n, s);
}
}
int main() {
char a[7] = "abc123";
char b[7] = "adc234";
char c[4] = "a23";
int x;
x = Find(a, b, c, 5, 5, 2);
cout << x << endl;
system("pause");
return 0;
}
else {
if (A[m] == B[n] && B[n] == C[s]) Find(A, B, C, m - 1, n - 1, s - 1);
if (C[s] != B[n] && A[m] != C[s]) Find(A, B, C, m - 1, n - 1, s);
if (A[m] != B[n] && A[m] == C[s]) Find(A, B, C, m, n - 1, s);
if (A[m] != B[n] && B[n] == C[s]) Find(A, B, C, m - 1, n, s);
}
else {
if (A[m] == B[n] && B[n] == C[s])
return Find(A, B, C, m - 1, n - 1, s - 1);
if (C[s] != B[n] && A[m] != C[s])
return Find(A, B, C, m - 1, n - 1, s);
if (A[m] != B[n] && A[m] == C[s])
return Find(A, B, C, m, n - 1, s);
if (A[m] != B[n] && B[n] == C[s])
return Find(A, B, C, m - 1, n, s);
}