网站后台一般是用什么做的,洛阳哪有做公司网站的,阿里云 做购物网站网站,机关单位网站管理部门应建立P1290 欧几里德的游戏 题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏#xff0c;这个游戏是他们的祖先欧几里德发明的。给定两个正整数M和N#xff0c;从Stan开始#xff0c;从其中较大的一个数#xff0c;减去较小的数的正整数倍#xff0c;当然#xff0c…P1290 欧几里德的游戏 题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏这个游戏是他们的祖先欧几里德发明的。给定两个正整数M和N从Stan开始从其中较大的一个数减去较小的数的正整数倍当然得到的数不能小于0。然后是Ollie对刚才得到的数和MN中较小的那个数再进行同样的操作……直到一个人得到了0他就取得了胜利。下面是他们用(257)两个数游戏的过程 Start25 7 Stan11 7 Ollie4 7 Stan4 3 Ollie1 3 Stan1 0 Stan赢得了游戏的胜利。 现在假设他们完美地操作谁会取得胜利呢 输入输出格式 输入格式 第一行为测试数据的组数C。下面有C行每行为一组数据包含两个正整数M, N。M, N不超过长整型。 输出格式 对每组输入数据输出一行如果Stan胜利则输出“Stan wins”否则输出“Ollie wins” 输入输出样例 输入样例#12
25 7
24 15输出样例#1Stan wins
Ollie wins 1、设mn为输入数据且mn第一个满足条件m-nn的步骤所对应的人为胜利者 2、m%n0时的步骤所对应的人为胜利者。 #includecstdio
#includecstring
#includecstdlib
#includeiostream
#includealgorithm
using namespace std;
int n,x,y,ans;
int read()
{int x0,f1; char chgetchar();while(ch0||ch9){if(ch-)f-1; chgetchar();}while(ch0ch9){xx*10ch-0; chgetchar();}return x*f;
}
void f(int x,int y)
{while(1){if(xy) swap(x,y);if(y%x0) break;if(y-xx) break;y-x;ans;}
}
int main()
{nread();while(n--){ans0;xread(),yread();f(x,y);if(ans%20) printf(Stan wins\n);else printf(Ollie wins\n);}return 0;
} 转载于:https://www.cnblogs.com/z360/p/7505380.html