全蛙求助!!!
查看原帖
全蛙求助!!!
695025
cokkie楼主2023/10/17 22:31

样例全对,ID加了空格,数据太大不会比对,求助!!!

#include<bits/stdc++.h>
using namespace std;
int t,n,jz,ans,nid,k,res;
string id,s,a=" DC B   A";
int main(){
	freopen("xiahuan.out","w",stdout);
	cin >> t >> n >> s;
	for(int i=1;i<=t;i++){
		cin >> id >> jz;
		nid=0,ans=0,res=0;
		for(int j=id.size()-1;j>=0;j--)
			nid+=(id[j]-'0')*pow(2,id.size()-1-j);
		if(nid<1||nid>10000){
			res=1;
			cout << "Wrong ID\n\n";
		}else{
			cout << "ID: " << nid << "\n";
			if((jz==10||jz==1)&&(jz%10==id[15]-'0')) cout << "Type Correct\n";
			else cout << "Type Incorrect\n";
		}
		for(int j=1;j<=n;j++){
			cin >> id;
			nid=0;
			for(int k=id.size()-1;k>=0;k--) nid+=(id[k]-'0')*pow(2,id.size()-1-k);
			if(a[nid]==s[j-1]) ans++;
		}
		if(res==1) continue; 
		cout << fixed << setprecision(1) << 100.0/n*ans << "\n\n";
	} 
	return 0;	
}

我是用二进制转化成十进制的下标来存储正确答案的

2023/10/17 22:31
加载中...