规律数贝壳

题目:https://ac.nowcoder.com/acm/contest/9752/C

import java.util.*;


public class Solution {
    /**
     * @param n int整型
     * @param p int整型
     * @param q int整型
     * @return int整型
     */
    public int Gameresults(int n, int p, int q) {
        if (q == p) { //若果两个相同,按照规律,只要总贝壳能够整除牛牛+1,那么不论怎么排,都是牛妹赢
            if (n % (p + 1) == 0) {
                return -1;
            }
            else return 1;
        }
        if (p >= n) {
            return 1;
        } else if (q >= n) {
            return -1;
        }
        if (p > q) {
            return 1;
        } else {
            return -1;
        }
    }
}

首先是做过的巅峰赛最简单的C题,但是也要花费一些周折。首先如果不太理解这个规律的话,自己能想到的:如果p或q大于n那么可以直接得出结果。那如果pq不相同时,就要开始寻找规律了,那么可以把n设置成5,小一些的数比较好找,如果是1 2的话那肯定是牛妹,如果是2 3,那么就是牛牛胜,这两个是不同的情况,所以只需要研究一种情况就可以了。
所以呢可以研究p>q,那肯定是数量多的占优势,谁大谁赢,就不多说。当q=p,那么就要找到对应的规律了,可以找到如果n%(p+1)==0,那么牛妹必胜。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务