codeforces 349B Color the Fence 贪心,思维

1、codeforces 349B    Color the Fence

2、链接:http://codeforces.com/problemset/problem/349/B

3、总结:

刷栅栏。1-9每个字母分别要ai升油漆,问最多可画多大的数字。

贪心,也有点考思维。

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 0x3f3f3f3f

int main()
{

    int v,a[15];
    while(~scanf("%d",&v))
    {
        int m=1;
        for(int i=1;i<=9;i++)
        {
            scanf("%d",&a[i]);
            if(a[m]>a[i])m=i;
        }

        int num=v/a[m];    //求出最多有多少个数字
        if(num==0)puts("-1");
        else
        {
            for(int i=0;i<num;i++)      //循环num次,每次输出可得到的最大的那个
            {
                v%=a[m];        
                for(int j=9;j>=m;j--)
                {
                    if((a[j]-a[m])<=v){     //如符合多出的小于余下的,就输出
                        v-=(a[j]-a[m]);    
                        printf("%d",j);
                        break;
                    }

                }
            }
            printf("
");
        }
    }

    return 0;
}
View Code
原文地址:https://www.cnblogs.com/sbfhy/p/5725235.html