救救孩子吧!全wa,必关注!求求了
查看原帖
救救孩子吧!全wa,必关注!求求了
1444047
xyds楼主2025/1/7 13:57
#include<bits/stdc++.h>
using namespace std;
char s[260];
int base1(char a[]);
int main(){
	int a[51];
	int n,r;
	cin>>r;
	cin>>n;
	cin>>s;//输入答案 
    for(int w=1;w<=r;w++){
    double total=0;
	for(int i=1,j=0;i<=n;i++,j=0){//转换答案 
	if(s[i-1]=='A'&&j==0)
	a[i]=8,j=1;
	if(s[i-1]=='B'&&j==0)
	a[i]=4,j=1;
	if(s[i-1]=='C'&&j==0)
	a[i]=2,j=1;
	if(s[i-1]=='D'&&j==0)
	a[i]=1,j=1;}
    int m;
    cin>>s;
    m=base1(s);
    int s1,lens;
    lens=strlen(s);
    s1=s[lens-1]-'0';
    if(m<=10000){
    cout<<"ID:"<<m<<endl;//序号 
	cin>>s;
	m=base1(s);
	if((s1==0&&m==2)||(s1==1&&m==1))
	cout<<"Type Correct"<<endl;//类型 
	else
	cout<<"Type Incorrect"<<endl;
	for(int i=1;i<=n;i++){
	cin>>s;
	m=base1(s);
	if(m==a[i])
	total+=1;}
	printf("%.1f",100*(total*1.0/n));
	cout<<endl;
    }
	else{
	cout<<"Wrong ID"<<endl;
	cin>>s;
	for(int i=1;i<=n;i++)
	cin>>s;}
	}
	return 0;
}
int base1(char a[]){//转换二进制 
	int lens;
	int r=1;
	int n=0;
	lens=strlen(a);
	for(int i=lens-1;i>=0;i--,r=r*2)
	n+=(s[i]-'0')*r;
	return n;
}

2025/1/7 13:57
加载中...