样例和第一个点在自己的编译器都能过啊,但是全WA为什么奥
查看原帖
样例和第一个点在自己的编译器都能过啊,但是全WA为什么奥
1407424
lmy9LSWC楼主2024/11/29 18:06

代码如下

#include <bits/stdc++.h>
using namespace std;

char a[105],b[105],c[105],d[105];
char str[305][52];
int sum[26];

int main()
{
	gets(a);
	gets(b);
	gets(c);
	gets(d);
	size_t a1=strlen(a);
	size_t b1=strlen(b);
	size_t c1=strlen(c);
	size_t d1=strlen(d);
	int k;
	for(int i=0;i<a1;i++)
	{
		if(a[i]>='A'&&a[i]<='Z')
		{
			k=a[i]-'A';
			sum[k]++;
		}
	}
	for(int i=0;i<b1;i++)
	{
		if(b[i]>='A'&&b[i]<='Z')
		{
			k=b[i]-'A';
			sum[k]++;
		}
	}
	for(int i=0;i<c1;i++)
	{
		if(c[i]>='A'&&c[i]<='Z')
		{
			k=c[i]-'A';
			sum[k]++;
		}
	}
	for(int i=0;i<d1;i++)
	{
		if(d[i]>='A'&&d[i]<='Z')
		{
			k=d[i]-'A';
			sum[k]++;
		}
	}
	int max=sum[0];
	for(int i=1;i<=25;i++)
	{
		if(sum[i]>max)
			max=sum[i];
	}
	for(int i=0;i<=50;i++)
	{
		for(int j=0;j<=2*max;j++)
			str[j][i]=' ';
	}
	for(int i=0;i<=25;i++)
	{
		str[0][2*i]='A'+i;
		while(sum[i]!=0)
		{
			str[2*sum[i]][2*i]='*';
			sum[i]--;
		}
	}
	for(int i=max*2;i>=1;i--)  //行 
	{
		for(int j=0;j<=50;j++)  //列 
			cout<<str[i][j];
		cout<<endl;
	}
	for(int j=0;j<=50;j++)
		cout<<str[0][j];
	return 0;
}
2024/11/29 18:06
加载中...