P1031均分纸牌

    科技2022-09-01  115

    输出:最少移动次数 题说的是一共n堆数,每一堆数也不一样,每一堆的数只能往左右移动。 算最少移动次数。 题解: 第一步:先算平均数 第二步:计算每一堆和平均数的关系 第三步:当ai不等于0时,ai+1=ai+1+ai,次数加1. 注意最后的不用算了。

    package 普及减; import java.util.Scanner; public class P1031 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n=sc.nextInt(); int a[]=new int[n]; int sum=0; for(int i=0;i<n;i++) { a[i]=sc.nextInt(); sum+=a[i]; } sum/=n; for(int i=0;i<n;i++) { a[i]-=sum; } int count=0; for(int i=0;i<n-1;i++) { if(a[i]==0) { continue; } a[i+1]=a[i+1]+a[i]; count++; } System.out.println(count); } }
    Processed: 0.012, SQL: 9