双六,可以理解为是 x 轴上无限延展的若干个格子,例如

...   -3  -2   -1   0   1   2   3   ...

其中 00 号格子是起点, 11 号格子是终点。

有一个神奇的骰子,上面只有 a,b,−a,−b 四个整数。

每当掷出一个值,是正值则向右移动相应距离的格子,若是负值则向左移动相应的格子。

问是否存在一种投掷的方案,能从 0 号格子走到 1 号格子。

如果能,输出任意一种方案即可。若不能,则输出 −1。

投掷方案由 4 个整数组成,表示 a,b,−a,−b 出现了多少次。

提示

  • 本题采用 special judge,输出任意一种合法的方案均可
  • 由于没有固定答案,提交详情中的答案一栏为空

输入

  • 第一行 22 个整数,分别表示 a,b
  • 1≤a,b≤109

输出

  • 一行,四个整数,表示分别需要掷出 a,b,−a,−b 多少次

样例 1

输入

4 11

输出

3 0 0 1
#include <bits/stdc++.h>
using namespace std;int a,b;
void exgcd(int a,int b,int &x,int &y)
{if(b==0){x=1;y=0;return;}exgcd(b,a%b,x,y);int temp=y;y=x-(a/b)*y;x=temp;
}int main()
{while(cin>>a>>b){int x,y;if(__gcd(a,b)!=1){cout<<"-1"<<endl;break;}else{exgcd(a,b,x,y);if(x>=0&&y>=0)cout<<x<<" "<<y<<" 0"<<" 0"<<endl;if(x<0&&y>=0)cout<<"0 "<<y<<" "<<abs(x)<<" 0"<<endl;if(x>=0&&y<0)cout<<x<<" "<<"0"<<" 0 "<<abs(y)<<endl;if(x<0&&y<0)cout<<"0"<<" "<<"0 "<<abs(x)<<" "<<abs(y)<<endl;}}
}

拓展拓展欧几里得算法:

https://blog.csdn.net/destiny1507/article/details/81750874?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164536324816780357298428%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164536324816780357298428&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-81750874.pc_search_result_cache&utm_term=%E6%8B%93%E5%B1%95%E6%AC%A7%E5%87%A0%E9%87%8C%E5%BE%97%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4187

双六(挑战程序设计竞赛)相关推荐

  1. 《挑战程序设计竞赛(第2版)》习题册攻略

    本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...

  2. 挑战程序设计竞赛(第2版)》

    <挑战程序设计竞赛(第2版)> 基本信息 作者: (日)秋叶拓哉 岩田阳一 北川宜稔 译者: 巫泽俊 庄俊元 李津羽 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787 ...

  3. 【操作指导 | 代码实现】挑战程序设计竞赛2:算法和数据结构

    书籍封面 第一章 前言 1. 本人衷心建议 ~~~~~~       如果你是一位初学者,我指的是你只会基本的 C/C++ 编程,即使编的很烂,这本书对于你算法和数据结构的提升非常有帮助,所涉及的每一 ...

  4. 挑战程序设计竞赛(第二章习题总结)

    文章目录 搜索 Curling 2.0(POJ 3009) Meteor Shower(POJ 3669) Smallest Difference(POJ 2718) Hopscotch(POJ 30 ...

  5. POJ 1150 The Last Non-zero Digit 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 1150 The Last Non-zero Digit超大组合数:求超大组合数P(n, m)的最后一个非零位.4.1更加复杂 ...

  6. POJ 3735 Training little cats​ 题解 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 3735 Training little cats调教猫咪:有n只饥渴的猫咪,现有一组羞耻Play,由k个操作组成,全部选自: ...

  7. POJ 3608 Bridge Across Islands 《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    POJ 3608 Bridge Across Islands跨岛大桥:在两个凸包小岛之间造桥,求最小距离?3.6与平面和空间打交道的计 ...

  8. AOJ 1312 Where's Wally 题解《挑战程序设计竞赛》

    为什么80%的码农都做不了架构师?>>>    本文由码农场 同步,最新版本请查看原文:http://www.hankcs.com/program/algorithm/aoj-131 ...

  9. ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)

    白书<挑战程序设计竞赛>(第2版)题目一览 白书:秋田拓哉:<挑战程序设计竞赛>(第2版) 第1章 蓄势待发--准备篇(例题) POJ1852 UVa10714 ZOJ2376 ...

  10. 挑战程序设计竞赛——详解DFS及BFS

    挑战程序设计竞赛--详解DFS及BFS 一.学会要用到的stl函数,Stack.Quene.Pair 1.Stack(DFS隐式的用到,并与Queue对比记忆) 头文件==#include== sta ...

最新文章

  1. Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
  2. 数据库-排序-升降序-多列
  3. ajax回调给全局变量,jquery.Ajax回调成功后数据赋值给全局变量的问题
  4. Java 用DBCP连接数据库。
  5. char 数组和 int 之间转化
  6. getWriter() has already been called for this response
  7. 华为交换机常用查询命令
  8. 《全球变化与地球系统科学》章节测试答案
  9. 项目成本管理:成本与成本管理概念
  10. 身为一名Java程序员,在面试的时候常常被问到的,下面我总结一些常常别问到的问题。
  11. MYSQL间隙锁详解
  12. python爬虫——爬取链家网北京租房信息
  13. 码率、帧率和I B P帧
  14. 吴若权——洛可可动画电影馆
  15. VMware中GPU虚拟化的三种模式(1)–vSGA
  16. 脱离鼠标后必须记住地快捷命令方式
  17. 关于Unity打不开弹出“由于找不到MSVCP140.dll,无法继续执行代码,重新安装程序可能会解决此问题”解决方案
  18. 【绝对管用】彻底的卸载干净oracle 11g
  19. 使用Logistic回归预测贷款违约
  20. Drynx: 基于区块链的去中心化隐私保护机器学习系统

热门文章

  1. Android Studio sdk emulator directory is missing
  2. 计算机硬盘会计分录,电脑加装固态硬盘如何做分录
  3. 安装pandas库报错_Pandas1.0.3安装失败module 'pandas' has no attribute 'plotting
  4. 初识nodejs16
  5. 最大公约数是啥意思_要求最大公约数是什么含义(如何求最大公约数)
  6. 网络头衔CEO、COO、CFO、CTO是什么意思?
  7. rn在java中什么意思,RN150中RN是什么意思
  8. 智遥工作代理问题解析
  9. ECS(Entity-Component-System)是什么?
  10. 苹果手机怎么验证app_【图文】苹果手机如何下载安装APP