RE求助
查看原帖
RE求助
1274502
Aaa_yym楼主2024/5/30 20:40
#include <bits/stdc++.h>
using namespace std;
struct Node{
	int x;
	int cnt;
}node[300];
vector<string> vec;
bool cmp(Node x,Node y){
	if(x.cnt!=y.cnt)return x.cnt>y.cnt;
	else return x.x<y.x;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		string s;
		cin>>s;
		vec.push_back(s);
		for(int j=0;j<s.size();j+=2){
			int x=0;
			int k1,k2;
			if(s[j]>='0' && s[j]<='9')k1=s[j]-'0';
			else k1=s[j]-'A'+10;
			if(s[j+1]>='0' && s[j+1]<='9')k2=s[j+1]-'0';
			else k2=s[j+1]-'A'+10;
			x=k1*16+k2;
			node[x].x=x;
			node[x].cnt++;
		}
	}
	sort(node,node+280,cmp);
	for(int i=0;i<16;i++){
		int k=node[i].x;
		int k1=k/16;
		int k2=k%16;
		if(k1>=0 && k1<=9)cout<<k1;
		else cout<<char(k1-10+'A');
		if(k2>=0 && k2<=9)cout<<k2;
		else cout<<char(k2-10+'A');
	}
	cout<<endl;
	for(int i=0;n;i++){
		for(int j=0;j<vec[i].size();j+=2){
			int x=0;
			int k1,k2;
			if(vec[i][j]>='0' && vec[i][j]<='9')k1=vec[i][j]-'0';
			else k1=vec[i][j]-'A'+10;
			if(vec[i][j+1]>='0' && vec[i][j+1]<='9')k1=vec[i][j+1]-'0';
			else k1=vec[i][j+1]-'A'+10;
			x=k1*16+k2;
			int minn=1e9,minid=0;
			for(int k=0;k<16;k++){
				if(minn>abs(x-node[k].x)){
					minn=abs(x-node[k].x);
					minid=k;
				}
			}
			if(minid<9)cout<<minid;
			else cout<<char(minid-10+'A');
		}
		cout<<endl;
	}
    return 0;
}

怎么都RE了呀?求助

2024/5/30 20:40
加载中...