样例过但全WA求助
查看原帖
样例过但全WA求助
652945
yinfelix楼主2024/9/21 19:09

去掉多余空格也考虑了,为啥过不了啊QAQ

#include<bits/stdc++.h>
using namespace std;
int a[27],rowlast[405],lst;
int maxn;
int main(){
	
	string s;
	for(int i = 1;i <= 4;i++){
		getline(cin,s);
		for(int j = 0;j < s.size();j++){
			if(s[j]< 'A' || s[j] > 'Z') continue;
			a[s[j]-'A']++;
		}
	}
	
	for(int i = 0;i <= 25;i++){
		maxn = max(maxn,a[i]);
	}
	
	for(int i = 1;i <= maxn;i++){
		for(int j = 25;j >= 0;j--){
			if(a[j] >= i){
				rowlast[i] = j;
				//printf("rowlast[%d]=%d\n",i,j);
				break;
			}
		}
	}
	
	for(int j = 25;j >= 0;j--){
		if(a[j]){
			lst = j;
			break;
		}
	}
	//print
	for(int i = maxn;i >= 1;i--){	
		for(int j = 0;j <= rowlast[i];j++){
			if(a[j] >= i) printf("*");
			else printf(" ");
		}
		printf("\n");
	}
	
	for(int i = 0;i <= lst;i++){
		if(a[i]) printf("%c",i+65);
		else printf(" ");
	}
	
	return 0;
}
2024/9/21 19:09
加载中...