2 条题解
-
0
#include <stdio.h> int main(){ int k,n,m,x; scanf("%d",&x); while(x--){ scanf("%d %d %d",&k,&n,&m); int sum=0; if(k%20){ sum=(n+2*m)/k; printf("%d\n",sum); } else if(k1){ sum=m+n; printf("%d\n",sum); } else { sum=m/(k/2)<n?m/(k/2):n;//将2和1配组 ,完整的几个2和1成一组,取完整组数,即要最小值,无论2多或少或1 或多或少,都不是完整的一个1加几个2 n-=sum;//一次用一个1 m-=(k/2sum);//sum次用了几个大水水晶球 if(m0&&n0){ printf("%d\n",sum); } else if(m0){ sum+=n/k; }else if(n0){ sum+=m/((k+1)/2);//k+1是因为k为奇数,加1变为偶数,除以二得到需要大水晶球的个数,然后m/(k+1)/2,为剩余的大水晶球能充能几次 }else { sum+=((n+2m)/k); } printf("%d\n",sum); } } return 0; }
信息
- ID
- 1156
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 305
- 已通过
- 36
- 上传者