poj 2891 Strange Way to Express Integers

题目:http://poj.org/problem?id=2891

思路:扩展欧几里得

 

#include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
#define maxn 100010
int n;
long long a[maxn],b[maxn];
long long exgcd(long long a,long long b,long long &x,long long &y)
{if(b==0){x=1;y=0;return a;}else{long long ans=exgcd(b,a%b,x,y);long long t=x;x=y;y=t-a/b*y;return ans;}
}
long long gcd(long long a,long long b)
{if(b==0)return a;return gcd(b,a%b);
}
bool solve()
{a[0]=a[1],b[0]=b[1];for(int i=2;i<=n;i++){long long a0=b[0];long long b0=b[i];long long c0=a[i]-a[0];long long x0,y0;long long r=gcd(a0,b0);if(c0%r!=0)return false;else{a0/=r;b0/=r;c0/=r;exgcd(a0,b0,x0,y0);x0*=c0;x0=(x0%b0+b0)%b0;a[0]=b[0]*x0+a[0];b[0]=b[0]*b0;}}return true; // a[0]为小于[b1,b2...bn]的非负整数解
}
int  main()
{while(scanf("%d",&n)!=EOF){for(int i=1;i<=n;i++)scanf("%lld%lld",&b[i],&a[i]);if(solve())printf("%lld\n",a[0]);elseprintf("-1\n");}return 0;
}
View Code

 

转载于:https://www.cnblogs.com/overflow/p/3196113.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第二季4:SAMPLE_VENC_1080P_CLASSIC函数的总流程

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 函数SAMPLE_VENC_1080P_CLASSIC()有七个大步骤。 step 1: init sys variable&#xff0c;即初始化&#xff08;填充&#xff09;mpp系统的变量、参数。 step 2: mpp system init&#xff0c;即初始化…

读书笔记2014第13本:《富爸爸,穷爸爸》

早就收藏了《富爸爸&#xff0c;穷爸爸》这本书&#xff0c;一直没看&#xff0c;最近仔细翻看一遍&#xff0c;发现自己智商一般&#xff0c;情商不行&#xff0c;原来财商更差&#xff0c;连书里的穷爸爸也比不上。这本书在这个时代再看&#xff0c;已经跟不上形势的发展了&a…

html里嵌入语音,HTML5语音合成API语音/语言支持

我正在尝试在html5中使用语音合成来用阿拉伯语讲话,但它不起作用.我运行以下脚本来检查chrome支持的语言,阿拉伯语不是其中之一.window.addEventListener("DOMContentLoaded",function () {if (window.speechSynthesis ! undefined) {document.getElementById("…

Eclipse RCP使用SWT.EMBEDDED方式显示batik的svgCanvas后窗口最大化变白问题

// 设置svg组件一直动态&#xff08;这一行代码导致了最大化变白的问题&#xff09;svgCanvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);// 以下两行解决最大化变白问题&#xff08;具体原理不详&#xff09;svgCanvas.setDoubleBuffered(false);svgCanvas.setDoubleBuffe…

第三季1:ORTP库的移植与视频的实时传输实验

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 本节内容是移植ORTP库&#xff0c;并使用ORTP库来完成视频的实时传输。 一、ORTP的简介 1、视频网络传输的两种方式 &#xff08;1&#xff09;基于下载的方式。比如http&#xff08;Hyper Text T…

cocos2d-x实例学习之常用类及其概要作用

CCLayer,CCScene CCLayer类对应cocos2d-x引擎里的布景。每个游戏场景中都可以有很多层&#xff0c;每一层负责各自的任务&#xff0c;例如专门负责显示背景、专门负责显示道具和专门负责显示人物角色等。在每个层上面可以放置不同的元素&#xff0c;包括文本、精灵和菜单等。CC…

HTML能用作网页开发语言吗,[单选题] 以下语言本身不能作为网页开发语言的是(  )。...

参考解析&#xff1a;(1)【解题步骤】步骤1&#xff1a;通过“答题”菜单打开WORD1.DOCX文件&#xff0c;按题目要求替换文字。选中全部文本(包括标题段)&#xff0c;在【开始】功能区的【编辑】分组中&#xff0c;单击“替换”按钮&#xff0c;弹出“查找和替换”对话框。在“…

第三季2:ORTP库与RTP发送实验的源码分析

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 本文首先分析ORTP库的组成&#xff0c;然后以rtpsend.c为例说明ORTP库的使用方法&#xff0c;最后分析第三季1中的RTP发送实验的源码。 一、ORTP库的源码分析 1、ORTP库概览 &#xff08;1&#…

线程让出实验【RT-Thread学习笔记 4】

API: rt_thread_yield 线程函数中调用&#xff0c;本线程释放MCU。如果此时有别的相同优先级的任务整处于等待状态&#xff0c;将获得MCU使用权。 线程让出就是给OS增加一个任务调度的机会。 创建两个线程&#xff0c;观察他们的结果&#xff1a; //线程让出试验 void yield_te…

你或许不了解的C++函数调用(1)

这篇博客名字起得可能太自大了&#xff0c;搞得自己像C大牛一样&#xff0c;其实并非如此。C有很多隐藏在语法之下的特性&#xff0c;使得用户可以在不是特别了解的情况下简单使用&#xff0c;这是非常好的一件事情。但是有时我们可能会突然间发现一个很有意思的现象&#xff0…

有赞下拉菜单html,有赞vant-ui Tabs、List、PullRefresh组件实践

Vant ui Vue.js 部分组件实践功能需求是实现一个移动端的栏目列表切换&#xff0c;于此同时列表需要进行下拉刷新&#xff0c;上拉加载如下图&#xff0c;大概是一个这样的东西看起来是挺简单的&#xff0c;实现起来很方便。没错&#xff0c;我当时也是这么想的&#xff0c;结…

第五季1:AP模式USB-WIFI网卡移植与测试

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 内容总结 &#xff08;1&#xff09;HI3518EWIFI做AP&#xff0c;PC做STA&#xff0c;实现局域网内ortp视频传输。 &#xff08;2&#xff09;HI2518EWIFI做STA&#xff0c;PC做STA&#xff0c;外部…

免费社交类图标集

免费下载 这是一套免费社交类型的图标集&#xff0c;包含35种不同内容的图标。包括当前最热的Instagram&#xff0c;Evernatoe等。和往常推荐的一样&#xff0c;PSD文件可自行调整大小,50*50像素。它们可以被用在商业项目上&#xff0c;如果你也喜欢相关类型的图标&#xff0c;…

如何把图片嵌到html中,自给自足,轻松将图片图片内嵌到HTML

自给自足&#xff0c;轻松将图片图片内嵌到HTML1.为什么要将图片内嵌到HTML&#xff1f;针对于这个问题&#xff0c;我们有如下几种答案1)能减少并发请求&#xff0c;适合且合理的使用&#xff0c;能提高网站的访问速度2)便于分享&#xff0c;完全可以将需要的图片&#xff0c;…

第五季2:STA模式USB-WIFI网卡移植与测试

以下内容源于朱有鹏课程&#xff0c;如有侵权&#xff0c;请告知删除。 参考博客 hisi3518ev200移植MT7601_fsczp的博客-CSDN博客 wpa_supplicant移植与使用_andylauren的博客-CSDN博客 Linux wpa_cli 调试方法_weixin_34168700的博客-CSDN博客 12 海思Hi3518E移植WIFI驱动(ST…

关于ping命令的工作原理

2019独角兽企业重金招聘Python工程师标准>>> 当我们在用ping命令ping地址的时候会向target主机发送一个ICMP协议中的echo包&#xff0c;如果对方living&#xff08;活动状态&#xff09;。 则会返回一个echo包。 TTL的值&#xff1a;这个值对我们有什么用&#xff0…

SPOJ-OPTM Optimal Marks ★★(按位建图 最小割)

【题意】给出一个无向图&#xff0c;每个点有一个标号mark[i]&#xff0c;不同点可能有相同的标号。对于一条边(u, v)&#xff0c;它的权值定义为mark[u] xor mark[v]。现在一些点的标号已定&#xff0c;请决定剩下点的标号&#xff0c;使得总的边权和最小。&#xff08;0 <…

第七季1:分析MP4文件封装格式

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 &#xff08;1&#xff09;mp4文件格式解析 - nigaopeng - 博客园&#xff08;推荐&#xff09; &#xff08;2&#xff09;你真的懂 MP4 格式吗&#xff1f; &#xff08;3&#xff09;m…

ESXi主机管理内存资源的方式

因为内存通常是最有限的资源&#xff0c;ESXi采用内存过量配置&#xff08;Memory overcommitment&#xff0c;即配置后的虚拟机内存可能超过物理内存&#xff08;RAM&#xff09;&#xff09;对内存进行管理。使用内存过量配置时&#xff0c;ESXi必须使用技术从一个或多个VM中…

第七季2:移植MP4v2库 与 将H.264码流打包成MP4格式的文件

以下内容源于朱有鹏课程的学习与整理&#xff0c;如有侵权请告知删除。 前言 本文首先移植MP4V2库&#xff0c;然后运行修改后的sample代码以生成MP4文件。 利用MP4v2库&#xff0c;可以将编码方式为H264的视频码流打包、封装为MP4格式的文件。 一、移植MP4v2库 1、下载MP4…