牛客挑戰賽 41 A

https://ac.nowcoder.com/acm/contest/6012/A

其實這題想的思路是對的,就是代碼……好像有點繁雜。後來看了別人的代碼,才知道還可以這樣。
思路就是儘可能去湊2,如果k是奇數就去補1,如果直接模擬發現會非常麻煩,寫着寫着會把自己繞進去。但我們可以發現,我們儘可能去湊2,然後補1,但總體的數量還是不變的,所以我們就直接用總體的數量去除k就好了。

#include<map>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define int long long
using namespace std;
int t,n,m,k;
signed main()
{
	cin>>t;
	while(t--)
	{
		scanf("%lld %lld %lld",&n,&m,&k);
		printf("%lld\n",(n+2*m)/k);
	}
 } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章