Rock, Paper, Scissors VJ-HZNU-Feb1

题目意思:两人石头剪刀布,总数n,第二行给出a的石头,剪刀,布的次数,第三行给出b的石头,剪刀,布的次数,返回a最少能赢和最多能赢的次数

思路:最多:每次取a克制b的选择,之和两数中的最小数有关,max=min(a1,b2)+min(a2,b3)+min(a3,b1);
最少:(需要思考的地方)那么最后的时候会出现什么情况呢?就是最后自己剩下一种牌,若干张;对方也只剩下一种牌,若干张。并且自己的牌是克制对方的牌的。
有min=max(0,b1-a1-a2,b2-a2-a3,b3-a3-a1);

code:

include

include

using namespace std;

int main()
{
int n;
int a[4],b[4];
cin>>n;
for(int i=1;i<=3;i++)cin>>a[i];
for(int i=1;i<=3;i++)cin>>b[i];
int ans1=min(a[1],b[2])+min(a[2],b[3])+min(a[3],b[1]);
int ans2=max(max(0,b[1]-a[1]-a[2]),max(b[2]-a[2]-a[3],b[3]-a[3]-a[1]));
cout<<ans2<<" "<<ans1<<endl;
}

date:23.2.25

posted @   阿丰大宝贝  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示