diff --git a/C/lcs.c b/C/lcs.c new file mode 100644 index 0000000..459579c --- /dev/null +++ b/C/lcs.c @@ -0,0 +1,52 @@ +#include +#include + +int main() +{ + int j; + char str1[50], str2[50]; + scanf("%s %s", str1, str2); + + int len1, len2; + len1=strlen(str1) + 1; + len2=strlen(str2) + 1; + + int lcs[len1][len2]; + + for (int i=0;ilcs[i][j-1]) + { + lcs[i][j]=lcs[i-1][j]; + } + else + { + lcs[i][j]=lcs[i][j-1]; + } + } + } + } + + if (len1 + +void Strassen(int n, int (*P)[n],int (*Q)[n], int (*R)[n] ) +{ + if (n==1) + { + R[0][0]=P[0][0]*Q[0][0]; + } + else + { + int a[n/2][n/2], b[n/2][n/2], c[n/2][n/2], d[n/2][n/2]; + int e[n/2][n/2], f[n/2][n/2], g[n/2][n/2], h[n/2][n/2]; + int p1[n/2][n/2], p2[n/2][n/2], p3[n/2][n/2], p4[n/2][n/2], p5[n/2][n/2], p6[n/2][n/2], p7[n/2][n/2]; + int C1[n/2][n/2], C2[n/2][n/2], C3[n/2][n/2], C4[n/2][n/2]; + + int t1[n/2][n/2], t2[n/2][n/2], t3[n/2][n/2], t4[n/2][n/2], t5[n/2][n/2]; + int t6[n/2][n/2], t7[n/2][n/2], t8[n/2][n/2], t9[n/2][n/2], t10[n/2][n/2]; + + for (int i=0;i=n/2) + { + R[i][j] = C2[i][j - n/2]; + } + if(i>=n/2 && j=n/2 && j>=n/2) + { + R[i][j] = C4[i - n/2][j - n/2]; + } + + } + } + } +} + +int main() +{ + int n,i,j; + scanf("%d",&n); + + int P[n][n], Q[n][n], R[n][n]; + for (i=0;i