蒟蒻一个地方理解不了
查看原帖
蒟蒻一个地方理解不了
593753
LukeSu楼主2022/5/9 14:58

题目说:

现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。

所以,结果每个牌堆应该有一样多的牌。

下面是第二高赞代码,就他的代码来说,操作完之后,这些牌堆并没有变成10 10 10 10的序列啊,牌堆还是乱的,为什么他的代码依旧能AC?

#include<bits/stdc++.h>
using namespace std;
int n,a[101],mid,all,ans;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]),all+=a[i];
	all/=n;
	for(int i=1;i<=n;i++)if(a[i]-all)
		a[i+1]+=a[i]-all,ans++;
	
	//增加的代码↓
	for(int i = 1; i <= n; i++)
		printf("%d ", a[i]);   //输出序列 9 7 14 10,而不是10 10 10 10
	puts("");
	//增加的代码↑
	
	printf("%d",ans);
	return 0;
}
2022/5/9 14:58
加载中...