Alice和Bob打牌,每人都有n张牌 Alice的牌里有p1张石头牌,q1张剪刀牌,m1张布牌。 Bob的牌里有p2张石头牌,q2张剪刀牌,m2张布牌。 Alice知道Bob每次要出什么牌,请你安排策略,使Alice获胜次数最多。 输出获胜次数。
石头 剪刀 布
Alice 3 -p1 2- q1 1-m1
Bob 1 -p2 2 -q2 3 -m2
石头三种情况:
1、If(p1==q2)
Sum1 = p1;
2、If(p1>q2)
Sum 1= q2;
3、If(p1<q2)
Sum1 = p1;
剪刀三种情况:
布三种情况:
石头 | 剪刀 | 布 | |
---|---|---|---|
Alice | 3 --p1 | 2 --q1 | 1–m1 |
Bob | 1 --p2 | 2 --q2 | 3 --m2 |
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 请返回Alice能赢的最多局数
* @param n int
* @param p1 int
* @param q1 int
* @param m1 int
* @param p2 int
* @param q2 int
* @param m2 int
* @return int
*/
public int Mostvictories (int n, int p1, int q1, int m1, int p2, int q2, int m2) {
// write code here
int ans1=0;
int ans2=0;
int ans3=0;
int sum=0;
if(p1>=q2){
ans1=q2;
}
if(p1<q2){
ans1=p1;
}
if(q1>=m2){
ans2 = m2;
}
if(q1<m2){
ans2 = q1;
}
if(m1>=p2){
ans3 = p2;
}
if(m1<p2){
ans3 = m1;
}
sum = ans1+ans2+ans3;
return sum;
}
}