题解:P9363 [ICPC 2022 Xi'an R] Hotel

· · 题解

题意

2 次递交题解,管理员求过。

给定 n 个队伍和队员性别以及单双人房间的价格,求最小花费。

解法思路

我们稍加思考即可得出一种思路:

特殊情况

当一个队伍中出现 2 个及以上的同性人,可以考虑一单一双的方案。

我们使用字符串枚举所有可能,最后取最小值即可。

吐槽一句,什么人有 26 个性别啊

AC Code

#include<bits/stdc++.h>
using namespace std;
int n,sum,c1,c2;
int main()
{
    cin>>n>>c1>>c2;
    for(int i=1;i<=n;i++)
    {
        string s;
        cin>>s;
        int x=min(c1,c2)*3,y=0,z=0;
        if(s[0]==s[1]||s[0]==s[2]||s[1]==s[2])
        {
            y=c2+c1;
            z=c2*2;
            sum+=min(x,min(y,z));
        } 
        else
        {
            sum+=x;
        }
    }
    cout<<sum;
    return 0;
}