codeforces#84_div2_C Lucky Sum of Digits

题目地址:戳这里

首先是关于上次那个“买不到的账目数”,里面涉及到的一个结论。  点这里

然后就是要求最小。首先是个数最少-这样位数最小,然后是尽量把4排在前面。

代码:

#include
#include
#include
#include
#include
using namespace std;

typedef  pair pii;

int cmp(pii a,pii b)
{
    if(a.first+a.second>n;
    
    if(n<=17)
    {
        if(n==4)  cout<<4<  ans;
        
        int x=0;
        int y=0;
        for(int i=0;in) break;
            if((n-i*7)%4==0)
            {
                x=(n-i*7)/4;
                y=i;
                ans.push_back(make_pair(x,y));
                
            }
        }
        
        sort(ans.begin(),ans.end(),cmp);
        
        x=ans[0].first;
        y=ans[0].second;
        
        for(int i=0;i

你可能感兴趣的:(ACM_数论,codeforces)