5 条题解

  • 2
    @ 2023-4-4 0:09:38

    考虑到有些同学没有学过Python,还是决定给出C++的解题代码, 同时考试时会屏蔽题库以防同学们直接复制粘贴. 题库是给大家练习用的, 不是抄袭用的,希望同学们自律, 好好练习提高编程能力.

    #include<bits/stdc++.h>
    using namespace std;
    int a[6]; //桶排序数组, 表示1-5号娃娃出现的次数
    int main(){
    	int n,m;
    	cin>>n;
    	for(int i=0;i<n;i++){
    		cin>>m; //m号娃娃
    		a[m]++; //m号娃娃每出现一次累加1
    	}
    	sort(a,a+6); //按照出现次数排序
    	for(int i=1;i<=5;i++)
    		if(a[i]){ //为防止输出出现零次的娃娃,有值才输出
    			cout<<a[i]<<endl;
    			break; //只输出出现次数最少的娃娃, 然后跳出
    		}
    	cout<<a[5]; //再输出出现次数最多的娃娃
    	return 0;
    }
    
    • 1
      @ 2023-4-3 23:23:39

      能凑成几套完整的套娃, 取决于型号最好的那个娃娃的数量, 比如说5号娃娃最少,只有1个, 那你怎么也凑不出来2套娃娃. 最少能看见几个娃娃, 取决于数量最多的那个型号的娃娃有几个, 假设3号娃娃最多, 有6个, 那么比它小的可以套在它里边, 比它大的可以把它套住, 桌面上最少能看见的娃娃依然是6个.

      为防止同学们直接复制粘贴, 下面给出Python版的代码作为参考: 同时欢迎同学们积极书写自己的题解.

      #输入娃娃的数量n并转换为int格式
      n=int(input())
      #俄罗斯套娃英文:Russian Doll 默认输入的一长串字符串, 包含空格
      RussianDoll=input()
      #用split()方法分割成单个元素的列表,以空格为分隔符
      dollList=RussianDoll.split(' ')
      #将字符列表转换为整数列表
      dollInt=[int(i) for i in dollList]
      #输出最小值, 即最少能凑够几套完整的套娃
      print(min(dollInt))
      #创建一个列表准备进行桶排序
      dolltimes=[0,0,0,0,0,0]
      for i in dollInt:
          #某型号的套娃每出现一次就累计加1, dolltimes表示每个型号的娃娃出现的次数
          dolltimes[i]+=1
      #排序
      dolltimes.sort()
      #出现次数最多的排在最后边, 也就是下标为5的元素
      print(dolltimes[5])
      

      ``

      • 0
        @ 2024-9-7 17:31:31

        迷米世界天下无敌

        • 0
          @ 2024-1-18 14:59:16
          #include<bits/stdc++.h> 
          using namespace std; 
          int a[6]; 
          int main(){ 
              int n,m; 
          	cin>>n; 
          	for(int i=0;i<n;i++){ 
          	    cin>>m; 
          		a[m]++; 
          	}
          	sort(a,a+6); 
          	for(int i=1;i<=5;i++) 
          	if(a[i]){ 
          		cout<<a[i]<<endl; 
          		break; 
          	} 
          	cout<<a[5]; 
          return 0; }
          
          • -2
            @ 2024-1-12 15:26:52

            #include<bits/stdc++.h> using namespace std; int a[6]; int main(){ int n,m; cin>>n; for(int i=0;i<n;i++){ cin>>m; a[m]++; } sort(a,a+6); for(int i=1;i<=5;i++) if(a[i]){ cout<<a[i]<<endl; break; } cout<<a[5]; return 0; }

            • 1

            信息

            ID
            545
            时间
            1000ms
            内存
            256MiB
            难度
            3
            标签
            递交数
            46
            已通过
            27
            上传者