#13261: WA line:8941


stevenlin1540 (BREND)


#0: 100% WA (line:8941)

您的答案為: 1A3B
正確答案為: 1A2B

 

#include<iostream>

using namespace std;

int main(){
int a[4]={0};
while(cin>>a[0]>>a[1]>>a[2]>>a[3]){
int t,i=0,j=0,k=0;
cin>>t;
int b[t][4];
int aa=0,bb=0;
for(i=0;i<t;i++){
aa=0,bb=0;
cin>>b[i][0]>>b[i][1]>>b[i][2]>>b[i][3];
bool bl[4];
for(j=0;j<4;j++)bl[j]=0;
for(j=0;j<4;j++){
if(a[j] == b[i][j])aa++,bl[j]=1;
}
for(k=0;k<4;k++){
for(j=0;j<4;j++){
if(bl[j] != 1){
if(b[i][k] == a[j]){
bb++;
bl[j] =1;
break;
}
}
}
}
cout<<aa<<"A"<<bb<<"B"<<endl;
}

}
}

 

想請問我哪裡有問題?@@

#13629: Re:WA line:8941


snakeneedy (蛇~Snake)


測了一下你的 code 發現

1 2 3 5
1 
1 1 2 4
1A1B

1 1 2 4
1
1 2 3 5
1A2B

結果不一樣,都應該要是 1A1B 才對。

我想會是標記的問題(bl[]),其中

  1. 找到 A 時,ans 和 guess 標記的 index 相同
  2. 找到 B 時,ans 和 guess 標記的 index 則是分開的