五一劳动第四题

2021/5/1 18:29:21

本文主要是介绍五一劳动第四题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目链接:https://vjudge.net/contest/436484#problem/D
题目给出一个之含有0和1的字符串,修改一个字符需要h元,买一个0字符需要c0元,买一个1字符需要c1元,问如何才能花最少的钱买到一串字符串。我们应该首先考虑是否需要修改,修改有两种,将1改成0或是0改成1,如果修改花的钱少于两个字符所需钱的差,那么修改就是必要的,否则就不必修改。记录一下0和1的个数,很简单的一道题
代码如下:

include

using namespace std;
int a[1005];
int main()
{
int t;
cin>>t;
while(t--){
int n,c0,c1,h,num0=0,num1=0,sum;
cin>>n>>c0>>c1>>h;
string a;
cin>>a;
for(int i=0;i<n;++i){
if(a[i]-'1'0)num1++;
else num0++;
}
if(c1>c0){
if(c1-c0>h)sum=(num1+num0)c0+num1h;
else sum=num1c1+num0c0;
}
else if(c1
c0)sum=num1c1+num0c0;
else{
if(c0-c1>h)sum=(num1+num0)c1+num0h;
else sum=num1c1+num0c0;
}
cout<<sum<<endl;
}
return 0;
}



这篇关于五一劳动第四题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程