其他分享
首页 > 其他分享> > 五一训练D-4

五一训练D-4

作者:互联网

题目链接:https://vjudge.net/contest/436484#problem/D

这个题很简单,只需要比较全部换成0或者1或者不换的硬币数量,比较一下就行了。这个感觉麻烦了,做完后想到比较修改的硬币数量和c0,c1的差价这个更快

#include<stdio.h>
#include<string.h>
int main(){
    int n,c0,c1,h,t,len;
    char str[1000];
    scanf("%d",&t);
    int a,b;
    for(int i=0;i<t;i++){
        int c[3]={0};a=0,b=0;
        scanf("%d %d %d %d %s",&n,&c0,&c1,&h,str);
        for(int j=0;j<n;j++){
            if(str[j]=='0'){
                a++;
            }else if(str[j]=='1'){
                b++;
            }
        }
        c[0]=a*c0+b*c1;
        c[1]=(a+b)*c0+h*b;
        c[2]=(a+b)*c1+h*a;
        int min=100000000,min1=0;
        for(int k=0;k<3;k++){
            if(min>c[k]){
                min=c[k];
            }
        }printf("%d\n",min);
    } 
    return 0;
}

 

标签:c0,训练,min,int,硬币,c1,include,五一
来源: https://www.cnblogs.com/snow-joker/p/14728375.html