| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:上面的程序数组开小了,不过开大点后照样waIn Reply To:为什么wa Posted by:ljl08 at 2007-08-15 16:08:59 > #include <iostream.h>
> #include <string.h>
> int cal(char *ms,char *ds){
> int a=strlen(ms);
> int b=strlen(ds);
> int i,j;
> int lenth=101;
> if(a>b){
> for(j=0;j<=a-b;j++){
> for(i=0;i<b;i++){
> if(int(ms[j+i]-'1')*int(ds[i]-'1'))break;
> }
> if(i==b)lenth=a;
> }
> for(i=b-2;i>=0;i--){
> for(j=0;j<=i;j++){
> if(int(ms[i-j]-'1')*int(ds[b-j-1]-'1'))break;
> }
> if(j==i+1)lenth=lenth>(a+b-i-1)?(a+b-i-1):lenth;
> }
> for(i=a-b+1;i<a;i++){
> for(j=0;j<a-i;j++){
> if(int(ms[i+j]-'1')*int(ds[j]-'1'))break;
> }
> if(j==a-i)lenth=lenth>(b+i)?(b+i):lenth;
> }
> }
> if(b>a){
> for(j=0;j<=b-a;j++){
> for(i=0;i<a;i++){
> if(int(ds[j+i]-'1')*int(ms[i]-'1'))break;
> }
> if(i==a)lenth=b;
> }
> for(i=a-2;i>=0;i--){
> for(j=0;j<=i;j++){
> if(int(ds[i-j]-'1')*int(ms[a-j-1]-'1'))break;
> }
> if(j==i+1)lenth=lenth>(a+b-i-1)?(a+b-i-1):lenth;
> }
> for(i=b-a+1;i<b;i++){
> for(j=0;j<b-i;j++){
> if(int(ds[i+j]-'1')*int(ms[j]-'1'))break;
> }
> if(j==b-i)lenth=lenth>(a+i)?(a+i):lenth;
> }
> }
> if(a==b){
> for(i=0;i<a;i++){
> if(int(ds[i]-'1')*int(ms[i]-'1'))break;
> }
> if(i==a)lenth = a;
> for(i=b-2;i>=0;i--){
> for(j=0;j<=i;j++){
> if(int(ms[i-j]-'1')*int(ds[b-j-1]-'1'))break;
> }
> if(j==i+1)lenth=lenth>(a+b-i-1)?(a+b-i-1):lenth;
> }
> for(i=1;i<a;i++){
> for(j=0;j<a-i;j++){
> if(int(ms[i+j]-'1')*int(ds[j]-'1'))break;
> }
> if(j==a-i)lenth=lenth>(b+i)?(b+i):lenth;
> }
> }
> lenth=lenth>(a+b)?(a+b):lenth;
> return lenth;
> }
> void main(){
> char ms[100],ds[100];
> cin.getline(ms,100);
> cin.getline(ds,100);
> cout<<cal(ms,ds)<<"\n";
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator