HDU 5512 Pagodas (gcd)
来源:互联网 发布:js向jsp传值 编辑:程序博客网 时间:2024/05/29 08:37
题意:
n<=2∗104座塔,一开始只有a,b塔,a!=b<=n,对于已建成的塔j,k(包括a,b两塔),每次只能重建编号为j+k或j−k的塔,Yuwgna和Iaka轮流建塔,Yuwgna先手,最后不能建的人输,问最终获胜的人是哪个
分析:
更相减损,可知就是gcd,所以能建立的塔总数是n/gcd(a,b),去掉刚开始的2座,判断下奇偶就好了
代码:
//// Created by TaoSama on 2015-10-31// Copyright (c) 2015 TaoSama. All rights reserved.////#pragma comment(linker, "/STACK:1024000000,1024000000")#include <algorithm>#include <cctype>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <iomanip>#include <iostream>#include <map>#include <queue>#include <string>#include <set>#include <vector>using namespace std;#define pr(x) cout << #x << " = " << x << " "#define prln(x) cout << #x << " = " << x << endlconst int N = 1e5 + 10, INF = 0x3f3f3f3f, MOD = 1e9 + 7;int n, a, b;int main() {#ifdef LOCAL freopen("C:\\Users\\TaoSama\\Desktop\\in.txt", "r", stdin);// freopen("C:\\Users\\TaoSama\\Desktop\\out.txt","w",stdout);#endif ios_base::sync_with_stdio(0); int t; scanf("%d", &t); int kase = 0; while(t--) { scanf("%d%d%d", &n, &a, &b); int cnt = n / __gcd(a, b) - 2; printf("Case #%d: %s\n", ++kase, cnt & 1 ? "Yuwgna" : "Iaka"); } return 0;}
0 0
- HDU 5512 Pagodas (gcd)
- HDU-5512 Pagodas(GCD)
- HDU 5512 Pagodas(GCD)
- hdu 5512 Pagodas gcd()
- HDU 5512 Pagodas (简单博弈 gcd)
- HDU 5512 Pagodas (水题+GCD )
- HDU 5512 Pagodas (GCD 博弈)
- HDU-5512 Pagodas(GCD+找规律)
- hdoj 5512 Pagodas (gcd)
- hdu 5512 Pagodas(水题)
- 思维 hdu 5512(Pagodas)
- HDU 5512 Pagodas(分析)
- HDU 5512 Pagodas (GCD博弈 + 2015ACM/ICPC亚洲区沈阳站-重现赛)
- hdoj 5512 Pagodas 【gcd 思维】
- HDU 5512 Pagodas (博弈论、找规律)
- HDU-5512 Pagodas(规律/迭代)
- HDU 5512 Pagodas
- hdu 5512 Pagodas
- nyoj+stack的简单使用
- 黑马程序员——oc语言学习心得—— 自定义构造方法
- Intellij idea13配置tomcat,并实现一个简单的servlet
- 四、View的事件体系续
- 黑马程序员——oc语言学习心得—— 代理模式
- HDU 5512 Pagodas (gcd)
- java反射机制
- 黑马程序员——面向对象(一)(概述与封装)
- C++类和继承
- 16道嵌入式c语言面试题
- jquery $(document).ready() 与window.onload的区别
- 16道嵌入式c语言面试题
- iOS开发:定时器与滚动视图的交互
- 11月计划