#146: 可以幫忙看看我錯在哪嗎


kohsiangyu (柯享雨)


#include <stdio.h>
#include <stdlib.h>

int main()
{
  int a1,a2,a3,a4,i,j,k,l,pi,b1,b2,f,n;
  char s1[10][40][41],s2[10][40][41];
  while(scanf("%d%d%d%d",&a1,&a2,&a3,&a4)!=EOF){
    pi=a3*a4;
    for(i=0;i<a1;++i){
      for(j=0;j<a3;++j){
        scanf("%s",s1[i][j]);
      }
    }
    for(i=0;i<a2;++i){
      for(j=0;j<a3;++j){
        scanf("%s",s2[i][j]);
      }
    }
    for(i=0;i<a2;++i){
      for(j=0,f=0;j<a1;++j){
        for(k=0,b1=0,b2=0;k<a3;++k){
          for(l=0;l<a4;++l){
            if(s1[j][k][l]=='-') continue;
            else if(s1[j][k][l]!=s2[i][k][l]) ++b1;
            else ++b2;
          }
        }
        if(b2>(4*b1)){
          f=1;
          break;
        }
      }
      if(f) printf("Y\n");
      else printf("N\n");
    }
  }
  return 0;
}
#147: Re:可以幫忙看看我錯在哪嗎


looser (looser)


#include <stdio.h>#include <stdlib.h>int main(){  int a1,a2,a3,a4,i,j,k,l,pi,b1,b2,f,n;  char s1[10][40][41],s2[10][40][41];  while(scanf("%d%d%d%d",&a1,&a2,&a3,&a4)!=EOF){    pi=a3*a4;    for(i=0;i<a1;++i){      for(j=0;j<a3;++j){        scanf("%s",s1[i][j]);      }    }    for(i=0;i<a2;++i){      for(j=0;j<a3;++j){        scanf("%s",s2[i][j]);      }    }    for(i=0;i<a2;++i){      for(j=0,f=0;j<a1;++j){        for(k=0,b1=0,b2=0;k<a3;++k){          for(l=0;l<a4;++l){            if(s1[j][k][l]=='-') continue;            else if(s1[j][k][l]!=s2[i][k][l]) ++b1;            else ++b2;          }        }        if(b2>(4*b1)){          f=1;          break;        }      }      if(f) printf("Y\n");      else printf("N\n");    }  }  return 0;}

犯了題目沒看清楚的錯誤,是先行再列....不是先列再行
改一改後基本上沒問題

#include <stdio.h>
#include <stdlib.h>

int main()
{
  int a1,a2,a3,a4,i,j,k,l,pi,b1,b2,f,n;
  char s1[10][40][41],s2[10][40][41];
  while(scanf("%d%d%d%d",&a1,&a2,&a3,&a4)!=EOF){
    pi=a3*a4;
    for(i=0;i<a1;++i){
      for(j=0;j<a4;++j){
        scanf("%s",s1[i][j]);
      }
    }
    for(i=0;i<a2;++i){
      for(j=0;j<a4;++j){
        scanf("%s",s2[i][j]);
      }
    }
    for(i=0;i<a2;++i){
      for(j=0,f=0;j<a1;++j){
        for(k=0,b1=0,b2=0;k<a4;++k){
          for(l=0;l<a3;++l){
            if(s1[j][k][l]=='-') continue;
            else if(s1[j][k][l]!=s2[i][k][l]) ++b1;
            else ++b2;
          }
        }
  //printf("%d %d\n",b2,b1);
        if(b2>=(4*b1)){
          f=1;
          goto A;
        }
      }
  A:;
      if(f) printf("Y\n");
      else printf("N\n");
    }
  }
  return 0;
}