全错,求助
查看原帖
全错,求助
1155764
ouxiyao楼主2024/6/8 09:03
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
struct stu{
	string id;
	char dtk[51][4],k[2];
}a[1010];
string s,id;
int da[51],T,n,k;
double tm;
void daan(){
	for(int i = 0;i<n;i++){ 
		switch(s[i]){
			case 'A':da[i] = 0;break;
			case 'B':da[i] = 1;break;
			case 'C':da[i] = 2;break;
			case 'D':da[i] = 3;break;
		} 
	}
}
int zhuan(int p){
	int e = 32768,h = 0;
	for(int i = 0;i<16;i++){
		if(a[p].id[i]=='1')h+=e;
		e/=2;
	}
	return h;
}
double pg(int w){
	double fs = 0;
	bool flag = true;
	for(int x = 0;x<n;x++){
		flag = true;
		for(int y = 0;y<4;y++){
			if(y==da[x]){
				if(a[w].dtk[x][y]=='0')flag = false;
			}
			else{
				if(a[w].dtk[x][y]=='1')flag = false;
			}
		}
		if(flag)fs+=tm;
	}
	return fs;
}
int main(){
	cin>>T>>n>>s;
	daan();
	int shu,cnt = 0;
	tm = 100.0/n;
	for(int o = 1;o<=T;o++){
		cin>>a[o].id;
		shu = zhuan(o);
		cin>>a[o].k;
		if(shu<=10000&&shu>=1)printf("ID:%d\n",shu);
		for(int i = 0;i<n;i++){
			for(int j = 0;j<4;j++){
				cin>>a[o].dtk[i][j];
			}
		}
		if(shu>10000||shu<1){
			printf("Wrong ID\n");
			continue;
		}
		if((a[o].k[0]=='1'&&a[o].id[15]=='1')||(a[o].k[0]==a[o].k[1])||(a[o].k[1]=='1'&&a[o].id[15]=='0'))printf("Type Incorrect\n");
		else printf("Type Correct\n");
		printf("%.1lf\n",pg(o));
	}
	return ~~(0-0);
}

WA······

2024/6/8 09:03
加载中...