#include<bits/stdc++.h>
using namespace std;
int t,n;
double all=100.00;
double every=0.00;
string answer;
char answer2[60];
string id;
int idsol(string x){//sum是十进制
int sum=0;
for(int i=0;i<16;i++){
if(x[i]=='1') sum+=pow(2,15-i);
}
return sum;
}
string type;
int typesol(string x,char y){//1正确,0错误
if(x[0]=='0'&&x[1]=='1'&&y=='1') return 1;
if(x[0]=='1'&&x[1]=='0'&&y=='0') return 1;
else return 0;
}
string chos;
int chossol(string x,char y){//1是正确,0是错误
if(x=="1000"&&y=='A') return 1;
if(x=="0100"&&y=='B') return 1;
if(x=="0010"&&y=='C') return 1;
if(x=="0001"&&y=='D') return 1;
else return 0;
}
int main()
{
cin>>t>>n;
every=100.00/n;
cin>>answer;
for(int i=0;i<n;i++){
answer2[i+1]=answer[i];
}
for(int i=1;i<=t;i++){
int flag=0;
cin>>id;
if(idsol(id)>=1&&idsol(id)<=10000){
cout<<"ID:"<<" "<<idsol(id);
printf("\n");
flag=0;
}
else{
cout<<"Wrong ID";
printf("\n");
flag=1;
}
cin>>type;
if(flag==0){
if(typesol(type,id[15])==1) cout<<"Type Correct",printf("\n");
else cout<<"Type Incorrect",printf("\n");
}
for(int j=1;j<=n;j++){
cin>>chos;
if(flag==0){
if(chossol(chos,answer2[j])==0) all-=every;
}
}
if(flag==0){
printf("%.1lf",all);
all=100.00;
}
printf("\n");
}
return 0;
}
```qiuzhuqiuzhu