首页 > 其他 > 详细

CDOJ-65 CD Making

时间:2019-11-23 16:22:46      阅读:64      评论:0      收藏:0      [点我收藏+]

链接 https://acm.uestc.edu.cn/problem/cd-making/description

依据k分两种情况:k<=13时不用解释;
k>13时,若n整除k,k除n即为答案,若不能整除,要注意n%k=13的情况,此时若k>=15,则只需多取一张CD来存放剩余歌曲,例如k=15,n=43,此时一种放法为(15,14,14)而不是(15,15,12,1)。但若k=14则需多取两张CD。
其他细节参考代码。

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t,n,k,ans;
	cin>>t;
	while(t--){
		cin>>n>>k;
		if(k<13){
			ans=n/k+1;
			if(n%k==0) ans--;
		}
		else if(k==13){
			ans=n/12+1;
			if(n%12==0) ans--;
		}
		else{
			ans=n/k;
			n=n%k;
			if(n==0);
			else if(0<n&&n<13) ans++;
			else if(n==13){
				if(k==14) ans+=2;
				else{
					if(ans>0) ans++;
					else ans+=2;//注意n<k的情况
				}
			}
			else ans++;
		}
		cout<<ans<<endl;
	}
	return 0;
}

  

  

CDOJ-65 CD Making

原文:https://www.cnblogs.com/HouraisanKaguya/p/11918330.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!