NYOJ-1250-机器人
来源:互联网 发布:淘宝店必须交保证金吗 编辑:程序博客网 时间:2024/06/06 00:46
ACM模版
描述
题解
一看这道题我就知道是数论,也知道和欧几里得算法有关,但是再多的我就不知道了,因为根本不知道从哪儿推,无从下手的感觉,数论差真是心塞,网上找了份不错的代码,但是不是太懂其中推导过程。
如果有大神知道为什么这么写,烦请告知推导过程……十分、万分感谢!
代码
#include <iostream>#include <cstdio>using namespace std;typedef long long ll;ll exgcd(ll a, ll b, ll &x, ll &y){ if(b==0) { x = 1; y = 0; return a; } ll ans = exgcd(b, a%b, x, y); ll temp = x; x = y; y = temp - a/b*y; return ans;}int main(){ int K; cin >> K; ll X, Y, S, T; while (K--) { scanf("%lld%lld%lld%lld", &X, &Y, &S, &T); ll a, b; ll g = exgcd(X, Y, a, b); ll c = a * T / g; ll d = b * T / g; a *= S / g; b *= S / g; if (S % g == 0 && T % g == 0) { bool flag = 0; for (int i = -2; i <= 2; i++) { ll x, y; x = a + X / g * i; y = b - Y / g * i; for (int j = -2; j <= 2; j++) { ll x_, y_; x_ = c + X / g * j; y_ = d - Y / g * j; if ((x + y_) % 2 == 0 && (x_ + y) % 2 == 0) { flag = 1; break; } } } if (flag) { puts("Y"); } else { puts("N"); } } else { puts("N"); } } return 0;}
0 0
- NYOJ-1250-机器人
- NYOJ 371 机器人II
- nyoj-371-机器人II
- NYOJ 371 机器人II
- NYOJ 371 机器人II
- NYOJ 371题 机器人二
- nyoj 题目371 机器人II
- NYOJ 371 机器人II【简单题】
- NYOJ 第371题 机器人II
- 机器人
- 机器人
- 机器人
- 机器人
- 机器人
- 机器人
- 机器人
- 机器人
- 机器人
- SQL与HQL的区别
- Hibernate生成表结构两种方式
- junit异常(No tests found matching)
- Mybatis 的常见面试题
- 如何在Windows7(IIS7)环境下安装 PHP
- NYOJ-1250-机器人
- Hadoop入门基础教程 Hadoop之完全分布式环境搭建
- 小知识
- 利用正则表达式求解多项式相乘问题
- 移位
- 欢迎使用CSDN-markdown编辑器
- 利用乐动力App的漏洞刷微信步数
- LIS-nefuoj-1209-nlongn算法
- POJ 1491 Pi