求助,每次提交结果都不一样,有TLE有WA,20-60分波动
查看原帖
求助,每次提交结果都不一样,有TLE有WA,20-60分波动
387921
zjuxumang楼主2021/11/6 18:28

用的是string头文件,getline(cin,s)的方式输入,确认了没有多余空格,就是过不了。。每次提交的结果都不一样,随机出现WA和TLE,大佬们帮忙看看

#include <iostream>
#include <string>
using namespace std;
int hist[27];
int main(){
    string s, s1, s2, s3, s4;
    getline(cin, s1);
    getline(cin, s2);
    getline(cin, s3);
    getline(cin, s4);
    s = s1 + s2 + s3 + s4;
    int maxlines = 0;
    for (int i = 0; i < s.length();i++){
        if(s[i]>='A'&&s[i]<='Z')
            hist[s[i] - 'A' + 1]++;
            if(hist[s[i] - 'A' + 1]>maxlines)
                maxlines = hist[s[i] - 'A' + 1];
    }
    for (int i = 1; i <= maxlines;i++){
        for (int j = 1; j <= 26; j++){
            if(i<=maxlines-hist[j])
                cout << ' ';
            else
                cout << '*';
            int k = j + 1;
            for (; k <= 26;k++){
                if(hist[k]>maxlines-i){
                    cout << ' ';
                    break;
                }
            }
            if(k==27){
                cout << endl;
                break;
            }
        }
    }
    for (char i = 'A'; i <= 'Z';i++){
        cout << i;
        if(i<'Z')
            cout << ' ';
    }
    return 0;
}


2021/11/6 18:28
加载中...