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 |
这样了还不行,哪位看一下。。。#include<iostream> using namespace std; char a[200][200],k[200]; int l; int as(int i,int j,int &a1,int &b) { int flag=0,t,j1; for(j1=j,t=0;t<strlen(k);j1++,t++) if(a[i][j1]!=k[t]) {flag=1;break;} if(flag==0) { a1=i,b=j+strlen(k)-1; return 1; } else if(flag==1&&j>=strlen(k)) { for(j1=j,t=0;t<strlen(k);t++,j1--) if(a[i][j1]!=k[t]) {flag=0;break;} if(flag==1) { a1=i,b=j-strlen(k)+1; return 1;} else return 0; } else return 0; } int ts(int i,int j,int &a1,int &b) { int flag=0,t,i1; for(i1=i,t=0;t<strlen(k);i1++,t++) if(a[i1][j]!=k[t]) {flag=1;break;} if(flag==0) { b=j,a1=i+strlen(k)-1; return 1;} // else if(flag==1&&j>=strlen(k)) // for(i1=i,t=0;t<strlen(k);t++,i1++) // if(a[i1][j]!=k[t]) // {flag=0;break;} // if(flag==1) // { a=i-strlen(k)+1,b=j; return 1;} else return 0; } int ds(int &i1,int &j1,int &i0,int &j0) { //char d1[200],d2[200],d3[200],d4[200]; //for(i=0;i<strlen(k);i++) int j,t,i; for(j=1;j<=l;j++) if(k[0]==a[j][j]&&l-j+1>=strlen(k)) { int flag=0; for(i=j,t=0;t<strlen(k);i++,t++) if(k[t]!=a[i][i]) {flag=1;break;} if(flag==0) {i0=i-1;j0=i-1;i1=j;j1=j;return 1;} } return 0; } int ss(int &i1,int &j1,int &i0,int &j0) { int j,i,t; for(j=l;j>=1;j--) if(k[0]==a[j][j]&&j>=strlen(k)) { int flag=0; for(i=j,t=0;t<strlen(k);i--,t++) if(k[t]!=a[i][i]) {flag=1;break;} if(flag==0) {i0=i+1;j0=i+1;i1=j;j1=j;return 1;} } return 0; } int ks(int &i1,int &j1,int &i0,int &j0) { int j,i,t; for(j=l;j>=1;j--) if(k[0]==a[j][l-j+1]&&j>=strlen(k)) { int flag=0; for(i=j,t=0;t<strlen(k);i--,t++) if(k[t]!=a[i][l-i+1]) {flag=1;break;} if(flag==0) {i0=i+1;j0=l-(i+1)+1;i1=j;j1=l-j+1;return 1;} } return 0; } int es(int &i1,int &j1,int &i0,int &j0) { int j,i,t; for(j=l;j>=1;j--) if(k[0]==a[l-j+1][j]&&j>=strlen(k)) { int flag=0; for(i=j,t=0;t<strlen(k);i--,t++) if(k[t]!=a[l-i+1][i]) {flag=1;break;} if(flag==0) {i0=l-(i+1)+1;j0=i+1;i1=l-j+1;j1=j;return 1;} } return 0; } int main() { int i,j,i0,j0; cin>>l; for(i=1;i<=l;i++) for(j=1;j<=l;j++) {cin>>a[i][j];}//cout<<a[i][j]<<endl; char y[200];y[0]='0',y[1]='\0';//cout<<y<<endl; while(cin>>k&&(strcmp(k,y))==1) { //cout<<k[0]<<endl; int set=0; for(i=1;i<=l;i++) { for(j=1;j<=l;j++) if(k[0]==a[i][j]) { if(as(i,j,i0,j0)) {printf("%d,%d %d,%d\n",i,j,i0,j0);set=1;break;} else if( ts(i,j,i0,j0)) {printf("%d,%d %d,%d\n",i,j,i0,j0);set=1;break;} } if(set==1) break; } if(set==0) { if(ds(i,j,i0,j0)||ss(i,j,i0,j0)||es(i,j,i0,j0)||ks(i,j,i0,j0))// { printf("%d,%d %d,%d\n",i,j,i0,j0);} else cout<<"Not found\n"; } } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator