news 2026/6/12 8:20:50

牛牛和牛可乐的赌约2【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
牛牛和牛可乐的赌约2【牛客tracker 每日一题】

牛牛和牛可乐的赌约2

时间限制:2秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

牛牛感觉在上一次赌约中,情况对于自己非常不利,所以决定再赌一场。
这时候,牛蜓队长出现了:第一,绝对不意气用事;第二,绝对不漏判任何一件坏事;第三,绝对裁判的公正漂亮。
牛蜓队长带他们来到了一个棋盘游戏,棋盘左上角是( 0 , 0 ) (0,0)(0,0),这个棋盘在( x , y ) (x,y)(x,y)的位置有一个棋子,牛牛和牛可乐轮流移动这个棋子,这个棋子可以左移也可以上移,可以移动一格或者两格,直到不能再移动(即到( 0 , 0 ) (0,0)(0,0))的那个人算输。
如果原本在( x , y ) (x,y)(x,y),左移一格即为( x , y − 1 ) (x,y−1)(x,y1),上移一格即为( x − 1 , y ) (x−1,y)(x1,y)
这个时候,牛牛为了弥补上一局的不公平,决定要自己先手,如果两个人都用最优的策略,最后牛牛是否能获胜。

输入描述:

有多组输入样例,第一行为样例组数t ( t ≤ 1 × 10 6 ) t(t≤1×10^6)tt1×106
接下来t tt行每行有一个整数x xxy yy,分别表示初始位置( x , y ≤ 1 × 10 9 ) (x,y≤1×10^9)x,y1×109

输出描述:

输出t行,如果牛牛获胜,就输出” y y d s ” ”yyds”yyds(不带引号)

否则输出” a w s l ” ”awsl”awsl

示例1

输入:

2 0 0 0 2

输出:

awsl yyds

解题思路

本题是经典**组合博弈(SG函数+尼姆博弈)**问题。棋子每次可向上/向左移动1格或2格,走到( 0 , 0 ) (0,0)(0,0)的玩家落败。先推导单维度状态的SG函数,得出单个坐标k kk的SG值为k m o d 3 k \bmod 3kmod3。二维坐标( x , y ) (x,y)(x,y)等价于两个独立博弈叠加,总SG值为( x m o d 3 ) ⊕ ( y m o d 3 ) (x\bmod3) \oplus (y\bmod3)(xmod3)(ymod3)。博弈规则:总SG为0时先手必败,反之先手必胜,等价于判断x m o d 3 x\bmod3xmod3y m o d 3 y\bmod3ymod3是否相等。每组查询仅需两次取模运算,复杂度O ( 1 ) O(1)O(1),可高效应对t ≤ 10 6 t\le10^6t106、坐标值达10 9 10^9109的海量查询。

总结

核心逻辑:通过SG函数找到博弈胜负的周期规律,将复杂移动博弈简化为模3比较。
关键操作:推导一维SG周期、利用尼姆博弈异或判定胜负、快速取模处理每组询问。
效率保障:纯常数级运算,无预处理与循环开销,完美适配百万级查询与超大数值范围。

代码简要说明

  1. 利用ans[3][3]预存所有模3组合的胜负结果:下标相等代表必败(0,输出awsl),不等代表必胜(1,输出yyds)
  2. 开启快读优化,应对10 6 10^6106组大数据输入。
  3. 对每组坐标x , y x,yx,y分别对3取模,查表直接输出对应结果,逻辑极简且运行高效。

代码内容

#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e3+10;constll INF=1e18;constll M=1e6+10;constll mod=1e9+7;voidsolve(){ll x,y;cin>>x>>y;ll ans[3][3]={{0,1,1},{1,0,1},{1,1,0}};if(ans[x%3][y%3])cout<<"yyds"<<endl;elsecout<<"awsl"<<endl;}intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll T=1;cin>>T;while(T--)solve();return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 8:18:53

3分钟掌握百度网盘提取码智能获取:告别手动搜索的5个高效技巧

3分钟掌握百度网盘提取码智能获取&#xff1a;告别手动搜索的5个高效技巧 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘加密资源而烦恼吗&#xff1f;当你满怀期待地打开分享链接&#xff0c;却被"请输入…

作者头像 李华
网站建设 2026/6/12 8:12:56

告别传统点灯:手把手教你理解PCIe 4.0 NPEM新特性与寄存器配置

深入解析PCIe 4.0 NPEM&#xff1a;从寄存器配置到实战应用在数据中心和服务器领域&#xff0c;硬盘状态指示灯的管理一直是个看似简单却至关重要的环节。传统LED控制方式已经服务行业多年&#xff0c;但随着PCIe 4.0标准的推出&#xff0c;NPEM&#xff08;Native PCIe Enclos…

作者头像 李华