C++,codeforces,2072B,B. Having Been a Treasurer in the Past, I Help Goblins Deceive
/* codeforces,2072B,B. Having Been a Treasurer in the Past, I Help Goblins Deceive 用一个字符串表示金额,金额数量为字符串的不同的子序列中"-_-"的个数 子序列是从字符串中删除若干个字符(可以是0个)后得到的字符串, 删除不同的字符得到的子序列被定义为两个不同的子序列 给一个由'-'和'_'组成的字符串 问将字符串重新排列后,能得到的最大金额是多少 输入 t //测试案例数,每个案例占两行 n //第一行为字符串长度 -__-_-- //第二行为字符串 */ /* 一个字符串的金额最大时,其中的'_'字符在字符串最中间,'-'字符平均地分布在两端 即"---___----"的形式是金额最大的形式 最大金额为中间'_'的数量乘以左边'-'的数量再乘以右边'-'的数量 */ #include <iostream> #include <string> #include <algorithm> void solve(){ long long n;std::cin>>n; std::string price;std::cin>>price; //统计'_'的数量 long long mouth = std::count(price.begin(),price.end(),'_'); //计算'-'的数量 long long eye = n-mouth; //eye/2是左边'-'的数量,eye/2+(int(eye%2!=0))是右边'-'的数量 std::cout<<mouth*(eye/2)*(eye/2+(int(eye%2!=0)) )<<std::endl; } int main(){ int t;std::cin>>t; while(t--){ solve(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现