4 条题解

  • 0
    @ 2023-12-9 20:39:11
    #include<iostream>
    using namespace std;
    int num[30],maxn=0;
    int main()
    {
        for(int i=1;i<=4;i+=1)
        {
            string s;
            getline(cin,s);
            for(int i=0;i<s.length();i+=1)if(s[i]>='A'&&s[i]<='Z')num[s[i]-'A']+=1;
        }
        for(int i=0;i<=25;i+=1)maxn=max(maxn,num[i]);
        for(int i=maxn;i>=1;i-=1)
        {
            for(int j=0;j<=25;j+=1)if(num[j]>=i)cout<<"* ";else cout<<"  ";
            cout<<endl;
        }
        for(int i=0;i<=25;i+=1)cout<<(char)('A'+i)<<" ";
    }
    
    • 0
      @ 2023-12-2 16:08:26
      #include<bits/stdc++.h>
      using namespace std;
      string lines[5];
      int counter[27]; //0代表'A', 1代表'B'......
      void update_counter(char c)
      {
          if(c >= 'A' && c <= 'Z')
          {
              counter[c - 'A']++;
          }
      }
      int output_line;
      int arr_max(int arr[], int size)
      {
          int maxn = -1;
          for(int i=0;i<size;i++)
          {
              maxn = max(arr[i], maxn);
          }
          return maxn;
      }
      int main()
      {
          for(int i=0;i<4;i++)
          {
              getline(cin, lines[i]);
          }
      
          for(int i=0;i<4;i++)
          {
              int line_size = lines[i].size();
              for(int j=0;j<line_size;j++)
              {
                  update_counter(lines[i][j]);
              }
          }
      
          //输出环节
          //统计output_line
          output_line = arr_max(counter, 26);
          for(int i=output_line;i>0;i--)
          {
              //如果统计数满足i(>=i),那么打印*
              //遍历一遍counter
              for(int j=0;j<26;j++)
              {
                  if(counter[j] >= i)
                  {
                      cout<<"* ";
                  }
                  else
                  {
                      cout<<"  ";
                  }
              }
              cout<<endl;
          }
          //最后cout一行字母
          for(char i='A';i<='Z';i++)
          {
              cout<<i<<" ";
          }
          return 0;
      }
      
      • 0
        @ 2023-10-29 18:53:33
        #include<iostream>
        #include<string>
        using namespace std;
        int main()
        {
            int maxn=0,cnt[26]={};
            string a; 
            for(int i=0;i<4;i++)
            {
                getline(cin,a);
                for(int i=0;i<a.length();i++)
                {
                    if(a[i]>='A'&&a[i]<='Z')
                        cnt[a[i]-'A']++;
                }
            }
            for(int i=0;i<26;i++)
                maxn=max(maxn,cnt[i]);
            for(int i=maxn;i>0;i--)
            {
                for(int j=0;j<26;j++)
                    cout << (cnt[j]>=i?"* ":"  ");
                cout << "\n";
            }
            for(int i=0;i<26;i++)
                cout << char('A'+i) << " ";
            return 0;
        }
        

        注意

        #include<iostream>
        #include<string>
        

        不要

        #include<bits/stdc++.h>
        

        否则TLE

        • 0
          @ 2023-10-27 23:27:24
          #include <iostream>
          #include <string>
          int main(){
              int maxn=0,word[26]={};
              std::string a; 
              for(int i=0;i<4;i++){
                  getline(std::cin,a);
                  for(int i=0;i<a.length();i++)
                      if(a[i]>='A'&&a[i]<='Z')
                          word[a[i]-'A']++;}
              for(int i=0;i<26;i++)maxn=std::max(maxn,word[i]);
              for(int i=maxn;i>0;i--){
                  for(int j=0;j<26;j++)
                      std::cout<<(word[j]>=i?"* ":"  ");
                  puts("");}
              for(int i=0;i<26;i++)std::cout<<char('A'+i)<<" ";
              return 0;}
          
          • 1

          信息

          ID
          530
          时间
          1000ms
          内存
          125MiB
          难度
          6
          标签
          递交数
          1362
          已通过
          382
          上传者