程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 4811 Ball(貪心)

HDU 4811 Ball(貪心)

編輯:C++入門知識

 

推理一下,發現可以先求出後面放小球可以加分的最大值,然後前面的和為0 + 1 + 2 + ...+ max,max最大為6,因為每個球最多算左右兩邊

代碼:

 

#include 
#include 
using namespace std;
long long a, b, c;

long long tra(long long num) {
    return num > 2 ? 2 : num;
}

int main() {
    while (cin >> a >> b >> c) {
	long long sum = tra(a) + tra(b) + tra(c);
	long long hav = max(0ll, a + b + c - sum);
	cout << (hav * sum + (sum - 1) * sum / 2) << endl;
    }
    return 0;
}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved