每个数 1~7 
1 2 3 4 5 6 7 
三个一组
a<b<c
b%a==0 c%b==0  
 	
1 2 4   1 2 6   1 3 6 
 
第一步 统计下所有数出现的次数  
如果 5 或者7 出现了 直接-1 结束 
 
n = 12  一定要有几个1? 
马上就可以判断1的个数  arr[1]!=n/3; -1结束   

1 1 1 1  4 4 4 2 2 6 3 3    

arr[2] -= arr[4] ; 剩下的就是和6配的个数
arr[6] -= arr[3] ; 剩下的就是和2配的个数 
arr[2] 和 arr[6]的值要>=0  
if(arr[2] == arr[6]) OK  

根据4的个数 输出 1 2 4 
根据3的个数 输出 1 3 6 
根据2的个数 输出 1 2 6

1 条评论

  • @ 2025-4-5 12:01:31
    6
    1 1 1 2 2 2
    
    a<b<c  三个不一样的数
    
    b%a==0 && c%b==0  
     
    1~7  
    
    1 3 6 
    1 2 6 
    1 2 4
    第一步 如果有5 或者有7  一定不行  
    
    n个数  可以形成n/3组 1的次数可以确定 
    1个个数 不对也不行 
    
    如果1是正好的 
     2 3 4 6  
     3的个数 <= 6     arr[6]-=arr[3]; arr[6]里面就应该是6和2配的个数   
     4的个数 <= 2     arr[2]-=arr[4];  
     
     剩下的2和剩下的6 现在的一定 arr[2] == arr[6]; 
     //讨论的就是配比的问题 , 要恰好配平 ,一定先去配平最特殊的   
     
     1 3 6 根据 arr[3]的个数输出 
     1 2 4 根据 arr[4]的个数输出
     1 2 6 根据 arr[2]的个数输出
    • 1

    信息

    ID
    33
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    76
    已通过
    21
    上传者