???0分
查看原帖
???0分
709378
tikotiko楼主2023/6/29 15:36

每行末无空格

#include<bits/stdc++.h>
using namespace std;
struct bi{
	int k,num;
}b[300];
int a[300];
bool cmp(bi x,bi y){
	if(x.k==y.k){
		return x.num<y.num;
	}
	return x.k>y.k;
}
vector<bi>v;
int main(){
	string s1,s2,s3,s4,s;
	getline(cin,s1);
	getline(cin,s2);
	getline(cin,s3);
	getline(cin,s4);
	s=s1+s2+s3+s4;
	int n1,n2,n3,n4,n;
	n1=s1.size(),n2=s2.size(),n3=s3.size(),n4=s4.size();
	n=n1+n2+n3+n4;
	for(int i=0;i<n;++i){
		if(s[i]>='A'&&s[i]<='Z'){
			a[s[i]-64]++;
			b[s[i]-64].k++;
			b[s[i]-64].num=s[i];
		}	
	}
	sort(b+1,b+27,cmp);
	for(int i=1;i<=26;++i){
		for(int j=1;j<=b[i].k;++j){
			bi r;
			r.k=j,r.num=b[i].num;
			v.push_back(r);
		} 
	}
	sort(v.begin(),v.end(),cmp);
	v.push_back(v[0]);
	sort(v.begin(),v.end(),cmp);
	v[0].num='B',v[0].k=0;
	string p;
	for(int i=1;i<=v.size();++i){
		int m;
		if(v[i].k!=v[i-1].k){
			cout<<p<<endl;
			p="";
			if(v[i].num!='A'){
				m=(v[i].num-'A')*2;
			}else{
				m=(v[i].num-v[i-1].num)*2-1;
			}		
		}else{
			m=(v[i].num-v[i-1].num)*2-1;
		}
		for(int j=1;j<=m;++j){
			p+=" ";
		}
		p+="*";
	} 
	for(int i=65;i<90;++i){
		printf("%c ",i);
	}
	printf("Z");
	return 0;
} 
2023/6/29 15:36
加载中...