列表

详情


NC19325. 游戏

描述

BLUESKY007,fengxunling和dreagonm三个人发现了一个像素游戏,这款神奇的游戏每次会生成一个nxm的网格,其中每一个格子都被随机染色为R,G,B三种颜色之一,每次都可以选择任意一个非B颜色的格子进行一次操作,每次操作都会满足以下规则:
1.操作的范围为从整个网格的左上角到选定方格的矩形区域
2.操作区域内所有方格都遵循变换
3.第一个不能执行操作的人为失败者,且按操作顺序在失败者之前的人取胜
为了能让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

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++11(clang++ 3.9) 解法, 执行用时: 41ms, 内存消耗: 1384K, 提交时间: 2019-10-13 08:35:06

#include<cstdio>
const int N=1e3+10;
char s[N][N];
int n,m,t;
int main() {
	scanf("%d",&t);
	while(t--) {
		scanf("%d%d",&n,&m);
		for(int i=0; i<n; i++)scanf("%s",s[i]);
		if(s[0][0]=='B')puts("BLUESKY007");
		else if(s[0][0]=='G')puts("fengxunling");
		else puts("dreagonm");
	}
	return 0;
}

Python3(3.5.2) 解法, 执行用时: 100ms, 内存消耗: 3640K, 提交时间: 2020-06-16 23:48:35

t = int(input())
for i in range(t):
    r,c = map(int,input().split())
    nums = []
    for j in range(r):
        nums.append(str(input()))
    if nums[0][0] == "B":
        print("BLUESKY007")
    elif nums[0][0] == "G":
        print("fengxunling")
    else:
        print("dreagonm")

C++14(g++5.4) 解法, 执行用时: 38ms, 内存消耗: 1272K, 提交时间: 2020-06-16 21:27:28

#include<cstdio>
char c[1010][1010];
int t,n,m,i;
int main()
{
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&m);
		for(i=0;i<n;i++) scanf("%s",c[i]);
		if(c[0][0]=='R') printf("dreagonm\n");
		else if(c[0][0]=='G') printf("fengxunling\n");
		else printf("BLUESKY007\n");
	}
 } 

上一题