双六(挑战程序设计竞赛)
双六,可以理解为是 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
双六(挑战程序设计竞赛)相关推荐
- 《挑战程序设计竞赛(第2版)》习题册攻略
本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...
- 挑战程序设计竞赛(第2版)》
<挑战程序设计竞赛(第2版)> 基本信息 作者: (日)秋叶拓哉 岩田阳一 北川宜稔 译者: 巫泽俊 庄俊元 李津羽 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787 ...
- 【操作指导 | 代码实现】挑战程序设计竞赛2:算法和数据结构
书籍封面 第一章 前言 1. 本人衷心建议 ~~~~~~ 如果你是一位初学者,我指的是你只会基本的 C/C++ 编程,即使编的很烂,这本书对于你算法和数据结构的提升非常有帮助,所涉及的每一 ...
- 挑战程序设计竞赛(第二章习题总结)
文章目录 搜索 Curling 2.0(POJ 3009) Meteor Shower(POJ 3669) Smallest Difference(POJ 2718) Hopscotch(POJ 30 ...
- POJ 1150 The Last Non-zero Digit 《挑战程序设计竞赛》
为什么80%的码农都做不了架构师?>>> POJ 1150 The Last Non-zero Digit超大组合数:求超大组合数P(n, m)的最后一个非零位.4.1更加复杂 ...
- POJ 3735 Training little cats 题解 《挑战程序设计竞赛》
为什么80%的码农都做不了架构师?>>> POJ 3735 Training little cats调教猫咪:有n只饥渴的猫咪,现有一组羞耻Play,由k个操作组成,全部选自: ...
- POJ 3608 Bridge Across Islands 《挑战程序设计竞赛》
为什么80%的码农都做不了架构师?>>> POJ 3608 Bridge Across Islands跨岛大桥:在两个凸包小岛之间造桥,求最小距离?3.6与平面和空间打交道的计 ...
- AOJ 1312 Where's Wally 题解《挑战程序设计竞赛》
为什么80%的码农都做不了架构师?>>> 本文由码农场 同步,最新版本请查看原文:http://www.hankcs.com/program/algorithm/aoj-131 ...
- ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)
白书<挑战程序设计竞赛>(第2版)题目一览 白书:秋田拓哉:<挑战程序设计竞赛>(第2版) 第1章 蓄势待发--准备篇(例题) POJ1852 UVa10714 ZOJ2376 ...
- 挑战程序设计竞赛——详解DFS及BFS
挑战程序设计竞赛--详解DFS及BFS 一.学会要用到的stl函数,Stack.Quene.Pair 1.Stack(DFS隐式的用到,并与Queue对比记忆) 头文件==#include== sta ...
最新文章
- Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
- 数据库-排序-升降序-多列
- ajax回调给全局变量,jquery.Ajax回调成功后数据赋值给全局变量的问题
- Java 用DBCP连接数据库。
- char 数组和 int 之间转化
- getWriter() has already been called for this response
- 华为交换机常用查询命令
- 《全球变化与地球系统科学》章节测试答案
- 项目成本管理:成本与成本管理概念
- 身为一名Java程序员,在面试的时候常常被问到的,下面我总结一些常常别问到的问题。
- MYSQL间隙锁详解
- python爬虫——爬取链家网北京租房信息
- 码率、帧率和I B P帧
- 吴若权——洛可可动画电影馆
- VMware中GPU虚拟化的三种模式(1)–vSGA
- 脱离鼠标后必须记住地快捷命令方式
- 关于Unity打不开弹出“由于找不到MSVCP140.dll,无法继续执行代码,重新安装程序可能会解决此问题”解决方案
- 【绝对管用】彻底的卸载干净oracle 11g
- 使用Logistic回归预测贷款违约
- Drynx: 基于区块链的去中心化隐私保护机器学习系统
热门文章
- Android Studio sdk emulator directory is missing
- 计算机硬盘会计分录,电脑加装固态硬盘如何做分录
- 安装pandas库报错_Pandas1.0.3安装失败module 'pandas' has no attribute 'plotting
- 初识nodejs16
- 最大公约数是啥意思_要求最大公约数是什么含义(如何求最大公约数)
- 网络头衔CEO、COO、CFO、CTO是什么意思?
- rn在java中什么意思,RN150中RN是什么意思
- 智遥工作代理问题解析
- ECS(Entity-Component-System)是什么?
- 苹果手机怎么验证app_【图文】苹果手机如何下载安装APP