求助
查看原帖
求助
241838
microchip楼主2020/10/17 09:38

TLE了前两个点,我自己下载了一组数据,输入后一下子就出结果了,为什么在评测机上就会TLE?

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

string a,b,c,d;
int letter[26];

void print(){
	int maxn,space;
	bool f;
	for(int i=0;i<26;i++)maxn=max(maxn,letter[i]);
	for(maxn;maxn;maxn--){
		space=0;
		f=0;
		for(int i=0;i<26;i++){
			if(letter[i]>=maxn){
				if(f==0)f=1;
				else cout<<" ";
				for(int j=0;j<space;j++)cout<<"  ";
				space=0;
				cout<<'*';
			}else space++;
		}cout<<endl;
	}
	cout<<"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";
}

int main()
{
	getline(cin,a);
	getline(cin,b);
	getline(cin,c);
	getline(cin,d);
	for(int i=0;i<a.size();i++){
		if(a[i]>='A'&&a[i]<='Z')letter[a[i]-'A']++;
	}for(int i=0;i<b.size();i++){
		if(b[i]>='A'&&b[i]<='Z')letter[b[i]-'A']++;
	}for(int i=0;i<c.size();i++){
		if(c[i]>='A'&&c[i]<='Z')letter[c[i]-'A']++;
	}for(int i=0;i<d.size();i++){
		if(d[i]>='A'&&d[i]<='Z')letter[d[i]-'A']++;
	}
	print();
	return 0;
}

2020/10/17 09:38
加载中...