101612A- Auxiliary Project (思路)
阿新 • • 發佈:2018-12-10
連結:
題意:
等給出你能用的棍棒數,讓你拼數,求每位數之和最大使多少。
思路:
7的價效比是最高的,所以儘量先擺7,先對三取餘,根據餘數多少調整剩餘的數
比如,如果餘1,那麼就將其中三個棍棒和一湊成4;如果餘2,剩餘的兩個湊成1就行;餘零,剛好全是7
#include <iostream> #include <cstdio> using namespace std; int main() { freopen("auxiliary.in","r",stdin); freopen("auxiliary.out","w",stdout); int n; scanf("%d",&n); if(n==2){ printf("1\n"); return 0; } int t=n%3; long long ans=0; if(t==1){ ans=(long long)((n/3-1)*7+4); } else if(t==0) ans=(long long)((n/3)*7); else ans=(long long)((n/3)*7+1); printf("%lld\n",ans); return 0; }