当前位置:网站首页>2022.8.9 Remainder of Exam Balance--1000 Question Solutions
2022.8.9 Remainder of Exam Balance--1000 Question Solutions
2022-08-10 03:20:00 【bj_hacker】
题目
1、Balanced remainder–1000
时间限制: | 空间限制:
题目描述:
给出一个正整数 ( 能被3整除)和一个大小为 的整数数组 .
在一次操作中,You can choose either one and let it increase1.You can do this multiple times on the same number
作.
The minimum number of steps required to request(可以是0次),使 中模3余 are equal in number.共 组测试数据.
输入格式:
第一行仅有一个正整数 ( ),表示测试数据的组数.
接下来有 组测试数据,There are two lines in each group:
The first line contains only one positive integer ( , 能被3整除,且所有测试数据中 之和不超过
),表示数组大小;
第二行有 个整数 ( )用空格隔开.
输出格式:
对于每组测试数据,输出一行一个整数,Indicates how many operations to use at least 符合条件.
思路
余数为0 1 2The conduction forms a ring,So you only need to judge the relationship with the average once,Conduction can.
代码实现
#include<bits/stdc++.h>
using namespace std;
int t,n,ans;
int cnt[3];
int main(){
scanf("%d",&t);
while(t--){
ans=0;
memset(cnt,0,sizeof(cnt));
scanf("%d",&n);
for(int i=1;i<=n;i++){
int a;
scanf("%d",&a);
cnt[a%3]++;
}
int op=n/3;
if(cnt[0]>op){
int s=cnt[0]-op;
ans+=s;
cnt[0]=n/3;
cnt[1]+=s;
}
else if(cnt[0]<op){
int s=op-cnt[0];
ans+=s;
cnt[2]-=s;
cnt[0]=n/3;
}
if(cnt[2]>op){
int s=cnt[2]-op;
ans+=s;
cnt[0]+=s;
cnt[2]=n/3;
}
else if(cnt[2]<op){
int s=op-cnt[2];
ans+=s;
cnt[2]=n/3;
cnt[1]-=s;
}
if(cnt[1]>op){
int s=cnt[1]-op;
ans+=s;
cnt[1]=n/3;
cnt[2]+=s;
}
else if(cnt[1]<op){
int s=op-cnt[1];
ans+=s;
cnt[1]=n/3;
cnt[0]-=s;
}
printf("%d\n",ans);
}
return 0;
}
边栏推荐
猜你喜欢
随机推荐
控制台中查看莫格命令的详细信息
P1564 膜拜
剑指offer专项突击版第25天
2022年8月8日-2022年8月15日,ue4视频教程+插件源码()
Database management tool: dynamic read-write separation
FusionCompute产品介绍
2022.8.8考试清洁工老马(sweeper)题解
ECCV 2022 Oral | CCPL: 一种通用的关联性保留损失函数实现通用风格迁移
Button countdown reminder
ImportError: Unable to import required dependencies: numpy
官宣出自己的博客啦
what is eabi
MMDetection框架的anchor_generators.py解析
Shell编程--awk
【Kali安全渗透测试实践教程】第6章 密码攻击
C# winform 单选框
.Net面试经验总结
C# 正则表达式分组查询
c# 解决CS8602告警 解引用可能出现空引用
2022.8.9考试游记总结









