读入玩以后一直没输出id
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define r register
string s,ans[55];
int main(){
int t,n;
cin >> t >> n;
cin >> s;
for (register int i=0;i<n;i++) s[i]=s[i]-'A'+'0';
while(t--){
string id;
cin >> id;
int n=id.size();
int idd=0;
string td;
cin >> td;
// cout << id << endl;
for (register int i=n-1;i>=0;i--){
if (id[i]=='1') idd=idd+pow(2,(n-i-1))*1;
}
// cout << idd << endl;
// int i=1;
for (register int i=1;i<=n;i++){
cin >> ans[i];
// cout << ans[i] << endl;
}
// cout << endl;
if (idd<1||idd>10000){
cout << "Wrong Id\n\n";
continue ;
}
// cout << idd << endl;
int wc=0;
cout << "ID: " << idd << endl;
if (id[n-1]=='1'&&(td[1]=='0'||td[0]=='1')){
cout << "Type Incorrect\n";
}
else if (id[n-1]=='1'&&(td[0]=='0'||td[1]=='1')){
cout << "Type Incorrect\n";
}
else cout << "Type Correct\n";
for (register int i=1;i<=n;i++){
bool ok=1;
for (register int j=0;j<4;j++){
if (ans[i][j]=='1'&&j!=s[i-1]) ok=0;
if (j==s[i-1]&&ans[i][j]==0) ok=0;
}
if (ok==1) wc++;
}
double ans=double(wc)*100.00/double(n);
printf("%.2lf\n\n",ans);
}
return 0;
}