博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P4136 谁能赢呢?
阅读量:4325 次
发布时间:2019-06-06

本文共 693 字,大约阅读时间需要 2 分钟。

题目描述

小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。

假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢?

输入输出格式

输入格式:

 

输入文件有多组数据。

输入第一行包含一个整数n,表示棋盘的规模。

当输入n为0时,表示输入结束。

 

输出格式:

 

对于每组数据,如果小明最后能赢,则输出Alice, 否则输出Bob, 每一组答案独占一行。

 

输入输出样例

输入样例#1: 
20
输出样例#1: 
Alice

说明

对于20%的数据,保证1<=n<=10;

对于40%的数据,保证1<=n<=1000;

对于所有的数据,保证1<=n<=10000。

题目分析

这道题和位运算有什么关系?从(1,1)开始走,肯定是要把棋盘走完啊,那就是n*n的奇偶性了。然后学过数论的都知道,判断n就可以了。

参考代码

// luogu-judger-enable-o2#include
#define re register intusing namespace std;int main(){ re n; while (scanf("%d",&n)&&n) puts((n&1)?"Bob":"Alice"); return 0;}

代码说明

小垃圾。

转载于:https://www.cnblogs.com/aserrrre/p/10657977.html

你可能感兴趣的文章
代码片段收集
查看>>
vue-cli3创建项目时报错
查看>>
输入1-53周,输出1-53周的开始时间和结束时间
查看>>
实验二
查看>>
shell——按指定列排序
查看>>
crash 收集
查看>>
Oracle数据库索引使用及索引失效总结
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
hibernate 批量插入数据
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>
Codeforces 1110D. Jongmah 动态规划
查看>>
android驱动在win10系统上安装的心酸历程
查看>>
优雅的程序员
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>