高僧斗法

这个,由于,情况特殊,那个最后找第一步怎么移动的时候,要暴力枚举啊……

#include<iostream>
#include<map>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
	vector<int>a;
	int i,j,k,n,t,ans;
	while(cin>>t)
		a.push_back(t);
	n=a.size();
	ans=0;
	for(i=0;i<n;i+=2)
	{
		if(i==n-1)
			continue;
		ans^=a[i+1]-a[i]-1;
	}
	if(ans==0)
		cout<<-1;
	else
	{
		for(i=0;i<n;i++)
		{
			if(i==n-1)
				continue;
			for(j=1;j+a[i]<a[i+1];j++)
			{
				a[i]+=j;
				ans=0;
				for(k=0;k<n;k+=2)
				{
					if(k==n-1)
						continue;
					ans^=a[k+1]-a[k]-1;
				}
				a[i]-=j;
				if(ans==0)
				{
					cout<<a[i]<<" "<<a[i]+j;
					return 0;
				}
			}
		}
	}
}

http://lx.lanqiao.org/problem.page?gpid=T37

历届试题 高僧斗法

时间限制:1.0s   内存限制:256.0MB

问题描述

  古时丧葬活动中经常请高僧做法事。仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛。

  节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠)。又有若干小和尚随机地“站”在某个台阶上。最高一级台阶必须站人,其它任意。(如图1所示)

  两位参加游戏的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻挡,不能越过。两个小和尚也不能站在同一台阶,也不能向低级台阶移动。

  两法师轮流发出指令,最后所有小和尚必然会都挤在高段台阶,再也不能向上移动。轮到哪个法师指挥时无法继续移动,则游戏结束,该法师认输。

  对于已知的台阶数和小和尚的分布位置,请你计算先发指令的法师该如何决策才能保证胜出。

输入格式

  输入数据为一行用空格分开的N个整数,表示小和尚的位置。台阶序号从1算起,所以最后一个小和尚的位置即是台阶的总数。(N<100, 台阶总数<1000)

输出格式

  输出为一行用空格分开的两个整数: A B, 表示把A位置的小和尚移动到B位置。若有多个解,输出A值较小的解,若无解则输出-1。

样例输入

1 5 9

样例输出

1 4

样例输入

1 5 8 10

样例输出

1 3

时间: 2024-10-02 15:11:29

高僧斗法的相关文章

历届试题 高僧斗法(博弈)

历届试题 高僧斗法 时间限制:1.0s   内存限制:256.0MB 问题描述 古时丧葬活动中经常请高僧做法事.仪式结束后,有时会有“高僧斗法”的趣味节目,以舒缓压抑的气氛. 节目大略步骤为:先用粮食(一般是稻米)在地上“画”出若干级台阶(表示N级浮屠).又有若干小和尚随机地“站”在某个台阶上.最高一级台阶必须站人,其它任意.(如图1所示) 两位参加游戏的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻挡,不能越过.两个小和尚也不能站在同一台阶,也不能向低级台阶移动.

高僧斗法—题解

标题:高僧斗法 古时丧葬活动中经常请高僧做法事.仪式结束后,有时会有"高僧斗法"的趣味节目,以舒缓压抑的气氛. 节目大略步骤为:先用粮食(一般是稻米)在地上"画"出若干级台阶(表示N级浮屠).又有若干小和尚随机地"站"在某个台阶上.最高一级台阶必须站人,其它任意.(如图1所示) 两位参加游戏的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻挡,不能越过.两个小和尚也不能站在同一台阶,也不能向低级台阶移动. 两法师轮流发出

蓝桥杯 历届试题 高僧斗法

历届试题 高僧斗法 时间限制:1.0s 内存限制:256.0MB 问题描述 古时丧葬活动中经常请高僧做法事.仪式结束后,有时会有"高僧斗法"的趣味节目,以舒缓压抑的气氛. 节目大略步骤为:先用粮食(一般是稻米)在地上"画"出若干级台阶(表示N级浮屠).又有若干小和尚随机地"站"在某个台阶上.最高一级台阶必须站人,其它任意.(如图1所示) 两位参加游戏的法师分别指挥某个小和尚向上走任意多级的台阶,但会被站在高级台阶上的小和尚阻挡,不能越过.两个小和

高僧斗法 类似算法尼姆解法

1 public class 尼姆_nim { 2 3 public static void main(String[] args) { 4 Scanner sc=new Scanner(System.in); 5 int caseNum=sc.nextInt();//输入有几组 6 int[][] data=new int[caseNum][]; 7 for(int i=0;i<caseNum;i++) { 8 int k=sc.nextInt();//每组又有多少数据 9 data[i]=n

2014蓝桥杯决赛解题报告

1.猜灯谜 题目: A村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字. 请你用计算机按小明的思路算一下,然后提交“请猜谜”三个字所代表的整数即可. 请严格按照格式,通过浏览器提交答案. 注意:只提交一个3位的整数,不要写其它附加内容,比如:说明性的文字. 分析: 请猜谜 * 请猜谜 = 请边赏灯边猜 abc*abc=adefdb 代码: #include<bits/stdc++.h> using namespace

算法-蓝桥杯习题(六)

蓝桥杯习题 蓝桥杯练习系统习题加答案,总共分为6部分,90%习题使用C语言解答,部分使用C++或者Java.大部分习题为搜索参考或者别人提供所得,不足之处在所难免,恳请批评指正(预计200多题,习题仅供学习交流) 目录 算法训练(详见 算法-蓝桥杯习题(一))Go 算法训练(详见 算法-蓝桥杯习题(二))Go 算法提高(waiting...) 历届试题(详见 算法-蓝桥杯习题(六))Go 历届试题(详见 算法-蓝桥杯习题(七))Go 蓝桥杯练习系统评测数据 链接: http://pan.baid

蓝桥杯练习系统题解

转于:http://www.cnblogs.com/cshhr/p/3550014.html 蓝桥杯官网练习系统题解(非VIP) BEGIN-4(Fibonacci数列) 有递推公式,大家都知道用递推公式求,仅仅要记得在递推的时候同一时候取模求好 这里给一份另类代码,用矩阵高速幂求,事实上还有循环节 /* (1 1) * (Fn-1) = ( Fn )//矩阵相乘,将就着看吧 (1 0) (Fn-2) (Fn-1) (1 1) * (1 1) * (Fn-2) = ( Fn ) (1 0) (1

算法笔记_203:第四届蓝桥杯软件类决赛真题(C语言B组)

目录 1 猜灯谜 2 连续奇数和 3 空白格式化 4 高僧斗法 5 格子刷油漆 6 农场阳光   前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 猜灯谜 标题:猜灯谜 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字. 请你用计算机按小明的思路算一下,然后提交"请猜谜"三个字所代表的整数即可. 请严格按照格式,通过浏览器提交答案. 注意:只提交一个3位的整数,不要写其它附加内容,比如:说明性的文字. 9

高僧版六眼飞鱼的故事

来源:代码里 链接:http://www.daimali.com/index.php/2016/05/02/424/ 从前有一个渔村,村民们世代以打鱼为生,日子过得逍遥自在,突然有一天,河里面来了一个怪兽,名叫六眼飞鱼,此怪无比凶猛,吃鱼害人,使得村民无法打鱼,于是村民们组织多次大规模的捕杀行动,但是都无功而返,甚至还赔上了几十条人命,眼看拿六眼飞鱼没什么办法,于是决定寻求高人帮助 村民们们到处寻找能收服怪兽的高人,聘请过很多的道士,侠客...但..都是一去不返,请了这么多高人都无法收服此怪,最