摘要:
题意:给你n堆石头,每次只能在一堆取最少一个石子,最后拿走最后一堆的为胜者,问胜者有多少种赢得取法#include #includeusing namespace std;int main(int argc, char** argv) { int n,stone[1010],i,t; while(scanf("%d",&n)!=EOF,n){ t=0; for(i=0;i<n;i++){ scanf("%d",&stone[i]); t^=stone[i]; } int sum=0; for(i=0;i<n;i++) if(( 阅读全文
posted @ 2013-10-26 23:18
Teemo的技术blog
阅读(168)
评论(0)
推荐(0)
摘要:
Nim游戏的概述:还记得这个游戏吗?给出n列珍珠,两人轮流取珍珠,每次在某一列中取至少1颗珍珠,但不能在两列中取。最后拿光珍珠的人输。后来,在一份资料上看到,这种游戏称为“拈(Nim)”。据说,它源自中国,经由被贩卖到美洲的奴工们外传。辛苦的工人们,在工作闲暇之余,用石头玩游戏以排遣寂寞。后来流传到高级人士,则用便士(Pennies),在酒吧柜台上玩。最有名的玩法,是把十二枚便士放成3、4、5三列,拿光铜板的人赢。后来,大家发现,先取的人只要在3那列里取走2枚,变成了1、4、5,就能稳操胜券了,游戏也就变得无趣了。于是大家就增加列数,增加铜板的数量,这样就让人们有了毫无规律的感觉,不易于把握。 阅读全文
posted @ 2013-10-26 23:13
Teemo的技术blog
阅读(197)
评论(0)
推荐(0)
摘要:
题意:给你n个堆数据,每堆有六个数,堆与堆之间要顺时针或逆时针相等,问是否有两堆相等哈希直接算了。#include #include #includeusing namespace std;#define N 1200010struct node{ int num[6]; int next;}p[N];int cur ,hashTable[N];void initHash(){ cur=0; memset(hashTable,-1,sizeof(hashTable));} int getHash(int *num){ int hash=0; for(int i=0;i<6;i++) ha 阅读全文
posted @ 2013-10-26 21:46
Teemo的技术blog
阅读(119)
评论(0)
推荐(0)