0分,全WA,悬3关
查看原帖
0分,全WA,悬3关
737873
yingxi楼主2024/10/17 22:44
#include<bits/stdc++.h>
using namespace std;
string A="1000",B="0100",C="0010",D="0001";
string w,y,ss,s[60];
double point,grade;
bool flag=true;
int t,n,sum;
char c;
void a()
{
	sum=0;
	for (int i=1;i<=16;i++)
	{
		cin>>c;
		if(c-'0'==1)
			sum+=pow(2,16-i);
	}
	if(sum>=1 && sum<=10000)
		cout<<"ID: "<<sum<<"\n";
	else
	{
		flag=false;
		cout<<"Wrong ID"<<"\n";
	}
	return ;
}
void check(char x)
{
	cin>>y;
	if(flag==false) return ;
	else 
	{
		if((x=='0'&&y=="10") || (x=='1'&&y=="01"))
			cout<<"Type Correct"<<"\n";
		else
			cout<<"Type Incorrect"<<"\n";
	}
	return;
}
void end()
{
	grade=100.00;
	for (int i=1;i<=n;i++){
		cin>>y;
		if(y!=s[i]) grade-=point;
	}
	if(flag==false) return ;
	printf("%.1lf\n",grade);
	return ;
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>t>>n;
	cin>>w;
	for (int i=0;i<n;i++)
	{
		if(w[i]=='A')
			s[i+1]=A;
		else if(w[i]=='B')
			s[i+1]=B;
		else if(w[i]=='C')
			s[i+1]=C;
		else
			s[i+1]=D;
	}
	point=100.00/n;
	for (int i=1;i<=t;i++)
	{
		flag=true;
		a();
		check(c);
		end();
		cout<<"\n";
	}
	return 0;
}

悬3关

2024/10/17 22:44
加载中...