#18619: A291


justinli (安茲 烏爾 恭)

學校 : 臺北市立西松高級中學
編號 : 93947
來源 : [36.224.150.113]
最後登入時間 :
2024-09-29 13:20:38
a291. nAnB problem | From: [114.42.192.130] | 發表日期 : 2019-07-26 13:26

#include<iostream>
#include<cstdio>
using namespace std; 
int main() {     
  int t[4],in[4],ma[4],n,a,b,tb[4],inb[4];
  //while (cin >> t[0] >> t[1] >> t[2] >> t[3]){
  while (scanf("%d %d %d %d",&t[0],&t[1],&t[2],&t[3])==4){  //改成scanf printf比較快
    //cin >>n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
      a=b=0;
      for(int j=0;j<4;j++){
        tb[j]=0;//用於B的輸出,目標值該位置是否比較過,tb[i]=1,表示已經用過
        inb[j]=0;//用於B的輸出,輸入值該位置是否比較過,inb[i]=1,表示已經用過
        //cin >> in[j];
        scanf("%d",&in[j]);
        if (t[j]==in[j]) {
          ma[j]=1;
          a++;
        }else{
          ma[j]=0;      
        }
      }
      for(int j=0;j<4;j++){
        for(int k=0;k<4;k++){
            if ((j!=k)&&(!ma[j])&&(!ma[k])&&(!tb[j])&&(!inb[k])){//沒有用過的A與B位置,可以比較產生B
              if (t[j]==in[k]) {
                b++;
                tb[j]=1;
                inb[k]=1;
                break;
              }
            }
        }
      }            
      printf("%dA%dB\n",a,b);      
    }
  }
  return 0;
}
 
ZeroJudge Forum