NC19325 游戏
题目
题目描述
BLUESKY007,fengxunling和dreagonm三个人发现了一个像素游戏,这款神奇的游戏每次会生成一个nxm的网格,其中每一个格子都被随机染色为R,G,B三种颜色之一,每次都可以选择任意一个非B颜色的格子进行一次操作,每次操作都会满足以下规则:
-
操作的范围为从整个网格的左上角到选定方格的矩形区域
-
操作区域内所有方格都遵循 变换
-
第一个不能执行操作的人为失败者,且按操作顺序在失败者之前的人取胜
为了能让BLUESKY007感到快乐(照顾到BLUESKY007是个蒟蒻),fengxunling和dreagonm的操作都尽可能的让BLUESKY007取胜,她们想知道在操作顺序为 的情况下,失败者是谁.
输入描述
题目有多组数据
第一行一个整数t,表示数据组数
对于每组数据,第一行两个整数n,m,接下来n行每行m个字符
输出描述
输出共t行,每行一个字符串表示答案
示例1
输入
2 3 3 RGG BBG RRR 3 3 GRB RGR RBG
输出
dreagonm fengxunling
备注
对于 的数据,
对于另 的数据,
对于的数据,
题解
知识点:博弈论。
注意到,无论怎么操作,最后一定是 这个位置最后变成 ,因此考虑它变到 需要的轮数即可。
时间复杂度
空间复杂度
代码
#include <bits/stdc++.h> using namespace std; using ll = long long; bool solve() { int n, m; cin >> n >> m; int ans = 0; for (int i = 1;i <= n;i++) for (int j = 1;j <= m;j++) { char ch; cin >> ch; if (i == 1 && j == 1) ans = ch == 'R' ? 2 : ch == 'G' ? 1 : 0; } cout << (ans == 0 ? "BLUESKY007" : ans == 1 ? "fengxunling" : "dreagonm") << '\n'; return true; } int main() { std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); int t = 1; cin >> t; while (t--) { if (!solve()) cout << -1 << '\n'; } return 0; }
本文来自博客园,作者:空白菌,转载请注明原文链接:https://www.cnblogs.com/BlankYang/p/17661210.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧