nefu 84 五指山 (扩展欧几里得)

题解: poj 1061 nefu 84(拓展欧几里得) POJ1061 Language:Default青蛙的约会 Time Limit: 1000MSMemory Limit: 10000KTotal Submissions: 105002Accepted: 20595Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一 阅读详情

五指山

Time Limit 1000ms

Memory Limit 65536K

description

西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,你还下界为妖,再修几劫,却来争吵。”
那大圣闻言,暗笑道:“这如来十分好呆!我老孙一筋斗去十万八千里。他那手掌,方圆不满一尺,如何跳不出去?”急发声道:“既如此说,你可做得主张?”佛祖道:“做得!做得!”伸开右手,却似个荷叶大小。那大圣收了如意棒,抖擞神威,将身一纵,站在佛祖手心里,却道声:“我出去也!”你看他一路云光,无影无形去了。大圣行时,忽见有五根肉红柱子,撑着一股青气。他道:“此间乃尽头路了。这番回去,如来作证,灵霄殿定是我坐也。”翻转筋斗云,径回本处,站在如来掌:“我已去,今来了。你教玉帝让天宫与我。”
如来骂道:“你正好不曾离了我掌哩!”大圣道:“你是不知。我去到天尽头,见五根肉红柱,撑着一股青气,我留个记在那里,你敢和我同去看么?”如来道:“不消去,你只自低头看看。”那大圣睁圆火眼金睛,低头看时,原来佛祖右手中指写着“齐天大圣,到此一游。”大圣大吃了一惊道:“有这等事!有这等事!我将此字写在撑天柱子上,如何却在他手指上?莫非有个未卜先知的法术?我决不信!不信!等我再去来!”
好大圣,急纵身又要跳出,被佛祖翻掌一扑,把这猴王推出西天门外,将五指化作金、木、水、火、土五座联山,唤名“五行山”,轻轻的把他压住。
    我们假设佛祖的手掌是一个圆圈(所以任凭大圣一个筋斗云十万八千里也是飞不出其手掌心),圆圈的长为n,逆时针记为:0,1,2,…,n-1,而大圣每次飞的距离为d.现在大圣所在的位置记为x,而大圣想去的地方在y。现在要你告诉大圣至少要多少筋斗云才能到达目的地。

input

有多组测试数据。
第一行是一个正整数T,表示测试数据的组数。
每组测试数据包括一行,四个非负整数,n(2 < n < 10^9),表示如来手掌圆圈的长度;d(0 < d < n),筋斗所能飞的距离;x(0 <= x < n),大圣的初始位置;y(0 <= y < n),大圣想去的地方。
   注意孙悟空的筋斗云只沿着逆时针方向翻。

output

对于每组测试数据,输出一行,给出大圣最少要翻多少个筋斗云才能到达目的地。如果无论翻多少个筋斗云也不能到达,输出“Impossible”.

sample_input

2
3 2 0 2
3 2 0 1

sample_output

1
2

hint

source

 

思路:ad-tn=y-x

 

AC program:

#include<iostream>
#define DEBUG
using namespace std;
long long gcd(long long a,long long b)
{
  if(b==0)
  return a;
  return gcd(b,a%b);    
}
long long fn(long long a,long long b,long long &x,long long &y)
{
  if(b==1)
    {
      x=1;
      y=1-a;
           
    }
    else
    {
      long long x1,y1;
      fn(b,a%b,x1,y1);
      x=y1;
      y=x1-x*(a/b);   
    }   
}
int main()
{
    int test;
    long long n,d,x,y,g,s,t,res;
    cin>>test;
    while(test--)
    {
      cin>>n>>d>>x>>y;
      x=(y-x+n)%n;
      g=gcd(d,n);
      if(x%g!=0)
        {
          cout<<"Impossible"<<endl;       
        }         
        else
            {
              n=n/g;
              d=d/g;
              fn(d,n,s,t);
              if(s<0)
                s+=n;
              res=(s*x/g)%n;
              cout<<res<<endl;    
            }  
    }
//system("pause");
return 0;
}

 

 

CE program:(囧 nefu这个OJ这不给力,CE都不指出)

 

#include<iostream>
//#include<stdio.h>
//#include<string.h>
//#include<math.h>
//#include<algorithm>
using namespace std;
__int64 exgcd(__int64  a,__int64  b,__int64  &x, __int64  &y )
{
   __int64  t,d;
   if(b==0)
   {
     x=1;
     y=0;
     return a;       
   }
   d=exgcd(b,a%b,x,y);
   t=x;
   x=y;
   y=t-a/b*y;
   return d;          
}
int main()
{
int test;
cin>>test;
while(test--)
{
   __int64  n,d,xx,yy,MM,ar,br;
   cin>>n>>d>>xx>>yy;
   MM=exgcd(d,n,ar,br);
   __int64 tmp=(yy-xx+n)%n;
   if(tmp%MM)
       cout<<"Impossible"<<endl;
   else
      {
         __int64  s=n/MM;
         ar=ar*tmp/MM;
         cout<<(ar%s+s)%s<<endl;   
      }
              
}
//system("pause");
return 0;}

 

Pure Persuit算法基础 Pure Persuit算法本身的原理不难理解,它主要基于几何原理进行的设备控制,本身不考虑太多的运动学约束。同时机器人的路径跟踪效果应该会比较依赖于预瞄点。对于曲线部分而言,如果曲率很小而预瞄点很远的话,对于曲线的跟随性应该会很差。对于直线而言,如果设备在开始时与轨迹有横向偏差,则在运动过程中机器人会逐渐收敛到曲线,但是收敛速度取决于预瞄点距离。 阅读详情

相关推荐

APB Timer验证环境搭建——学习笔记(1)

以下为个人学习笔记,如有疏漏,请大家指正补充~~APB Timer是一个简单的下行计数器,包括一个32位计数器和一组比较器,可以实现多种计时功能。包括生成一次性中断或者定时中断。

qq_41651535的博客 1579

NEFU 84 五指山(拓展欧几里德)

原题链接:Here! 思路:已知四个非负整数,n(2 设t次翻滚能到达y点,即有方程 x + t*d = y + c*n ,(c为非负整数) 整理得:t*d - c*n = y - x,方程有解的条件是gcd(d,n)|(y-x) 代码: #include using namespace std; typedef long long LL; LL exgcd(LL a,LL

OhohOh 530

保姆级教程:不用看古早代码,5分钟搞懂泛微ecology9附件存储与接口调用

本文详细解析了泛微ecology9附件存储与接口调用的核心原理,提供从基础概念到实战操作的完整指南。通过拆解文档化附件设计理念、解析RESTful接口参数,并给出Python代码示例,帮助开发者快速掌握附件上传与业务集成的关键技巧,提升二次开发效率。

weixin_28688385的博客 351

nefu 84

#include using namespace std; long long Extended_Gcd(long long a, long long b, long long &x, long long &y) { if(b == 0) { x = 1; y = 0; return a; } long long

Abner 975

基于紫光同创FPGA的adf网表文件使用和黑匣子设置

这个时候就可以选择将你的网表文件给到他使用,就是相当于把你的功能模块封装成了一个黑匣子一样,只有外部端口,没有内部代码;,在TOP层的子模块声明里面需要加上/*synthesis syn_black_box */进行黑匣子设置,此时子层 adf 文件作为黑盒是不会综合的,在 device map 时会将顶层综合结果与子层 adf 文件合并传递至布局布线阶段;这些都设置完毕后呢,就可以对工程进行编译和综合了,综合完毕后会生成一个.adf的网表文件,我们要使用的就是这个文件;我这里是把两个子模块的添加了哈;

H2061722的博客 966

FREERTOS+LWIP+IAP实现TCP、HTTP、网页访问并固件升级、更新配置 (三)lwip实现httpd服务并在web访问

在前两篇文章中配置freeRTOS和,并实现了TCP、UDP的通信协议,现在终于轮到重头戏lwip的httpd服务,LWIP官方例程中是有很多自带的网页的,但是远远不够满足实际项目的使用需求,因此我也是踩了很多坑,从前端网页制作,到网络通信的实现,到后端数据处理,从头开始学起,也是学习到了很多没接触过的东西,本章将搭建LWIP的HTTP服务使得浏览器可以访问WEB。

wangjiaheng0716的博客 2965

nefu84 - 五指山

扩展欧几里德算法 列方程dt-ln = y-x 求基础解,在求最小t解 代码如下: #include void gcd(long long a, long long b,long long &d,long long &x, long long &y) { if(b==0) {x = 1; y = 0; d = a;} else {gcd(b,a%b,d,y,x); y-=

稻草人 1294

具身智能ACT模型在lerobot机械臂上的实践与优化

本文详细介绍了如何在低成本lerobot机械臂上实践与优化具身智能ACT模型。从环境搭建、数据采集到模型原理与代码实战,提供了完整的入门指南。重点分享了通过数据增强、混合开源数据集及模型微调等策略,有效提升模型在抓取放置任务中的泛化能力与鲁棒性,为机器人学习爱好者提供了宝贵的实战经验。

weixin_29081703的博客 169

数论-线性同余方程的解法

一 拓展欧几里得方法 1. 标准方程 拓展欧几里得方法解决的标准问题是 ax+by=gcd(a,b) ax+by=gcd(a,b) ax+by=gcd(a,b) 由于有2个未知数,却只有1个方程,所以方程的解并不唯一。通过欧几里得算法,我们得到了该方程的一对特解x0x_0x0​和 y0y_0y0​ ,由齐次方程ax+by=0ax+by=0ax+by=0可以得齐次通解 {x=bgcd(a,b)y=−...

奔跑吧蚂蚁呀 2070

深入解析ZYNQ PL触发PS中断:从原理到创新实践

通过本文,您不仅学会了ZYNQ PL-PS中断的基础实现,更掌握了动态优先级调整中断负载均衡等创新技术。响应延迟降低40%以上系统吞吐量提升2-3倍功耗降低30%支持更复杂的实时应用硬件是身体的骨骼,软件是流动的血液,而中断则是连接二者的神经系统。只有精确控制每一条神经冲动,才能构建真正智能的嵌入式系统。拓展思考如何将AI决策引入中断调度?能否实现跨芯片中断同步?量子计算对中断架构的挑战?

QQ_778132974的博客 417

鸿蒙录屏推流应用完整解决方案

本文介绍了鸿蒙录屏推流应用的完整解决方案。项目采用分层架构设计,包含录屏、编码、推流等功能模块,要求实现4小时稳定运行且延迟小于3秒。技术实现包括:1) 通过config.json配置应用权限和功能;2) 使用ScreenRecorderManager类管理录屏服务,实现视频采集、音频录制和编码参数配置;3) 核心功能包含初始化录屏器、开始/停止录屏等操作。该方案充分利用鸿蒙系统的多媒体API,实现了高性能的屏幕录制与实时推流功能。

huanghm88的专栏 291

NEFU 84 五指山 扩展欧几里得算法

NEFU 84 五指山 【分析】 扩展欧几里得算法 #include #include long long gcd(long long a,long long b) { return b==0?a:gcd(b,a%b); } long long exgcd(long long a,long long &x,long long b,long long &y ) { if

DJR228的专栏 784

【25届数字IC秋招总结】面试经验15——比特大陆-算能

25届数字ic面试记录——比特大陆-算能

lalala0635的博客 557

nefu84 五指山(扩展欧几里得算法解同余方程)

五指山 Problem : 84 Time Limit : 1000ms Memory Limit : 65536K description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请

Hacker_vision 906

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

NEFU 84(五指山)(扩展欧几里得)

#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&lt;cstring&gt; using namespace std; typedef long long LL; LL exgcd(LL a,LL b,LL&amp; x,LL&amp; y) { if(a%b==0...

兜率工的博客 324

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NEFU 84 五指山(扩展欧几里得)

http://acm.nefu.edu.cn/test/problemshow.php?problem_id=84 Time Limit 1000ms Memory Limit 65536K description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请

AC,∑ndless 1099

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

nefu84 五指山(扩展欧几里得)

Description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,你还下界为妖,再修几劫,却来争吵。” 那大圣闻言,暗笑道:“这如来十分好呆!我老孙一筋斗去十万八千里。他那手掌,方圆不满一尺,如何跳不出去?”急发声道:“既如此说,你可做得主张?”佛祖道:

riba2534的博客 599

NEFU 84 五指山 (扩展欧几里得)

五指山 Problem:84 Time Limit:1000ms Memory Limit:65536K Description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,...

weixin_30430169的博客 115

nefu 84 五指山 扩展欧几里得 I really want to see the "Making havoc in Heaven"

五指山 Time Limit 1000ms Memory Limit 65536K description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,你还

风华绝代 881

NEFU 84 五指山

题目链接:http://acm.nefu.edu.cn/JudgeOnline/problem/84.jsp 思路:与上一题很相似,扩展欧几里得算法。 #include #include #include #include #include using namespace std; typedef long long LL; LL n, m, ax, by;

Wall_F的专栏 1844

五指山(nefu 84)

西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,你还下界为妖,再修几劫,却来争吵。” 那大圣闻言,暗笑道:“这如来十分好呆!我老孙一筋斗去十万八千里。他那手掌,方圆不满一尺,如何跳不出去?”急发声道:“既如此说,你可做得主张?”佛祖道:“做得!做得!”伸开右手,却似个...

qq_43702629的博客 370

五指山nefu84

description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,你还下界为妖,再修几劫,却来争吵。” 那大圣闻言,暗笑道:“这如来十分好呆!我老孙一筋斗去十万八千里。他那手掌,方圆不满一尺,如何跳不出去?”急发声道:“既如此说,你可做得主张?

evi__的专栏 958

NEFU 84 扩展欧几里得

五指山 Problem:84 Time Limit:1000ms Memory Limit:65536K Description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不

black_miracle的博客 414

NEFU84五指山

扩展欧几里得的应用。     #include&lt;iostream&gt; using namespace std; typedef long long ll; ll exgcd(ll m,ll&amp; x,ll n,ll&amp; y) { ll x1,y1,x0,y0; x0=1;y0=0; x1=0;y1=1; ll r=(m%n+n)%n; ...

vinacky 745

nefu84 五指山

五指山 Problem:84 Time Limit:1000ms Memory Limit:65536K Description 西游记中孙吾空大闹天宫,如来佛祖前来降伏他,说道:“我与你打个赌赛;你若有本事,一筋斗打出我这右手掌中,算你赢,再不用动刀兵苦争战,就请玉帝到西方居住,把天宫让你;若不能打出手掌,你还下界为妖,再修几劫,却来争吵。” 那大圣闻言,暗笑道:“这如来十分好呆!我...

ytuyzh的博客 396

NEFU84 五指山扩展欧几里德的应用

解析过程跟上一道很像,http://blog.youkuaiyun.com/u010682557/article/details/13612759 设要跳t次,我们列出方程  d*t-np=y-x;(这里的p是一个正整数) 然后开始利用扩展欧几里德来解,我自己写的那个不知道WA在哪里了,后来看了别人的,他们只是 求gcd的值的时候 另外写了个gcd的函数而已,而我顺便在扩展欧几里德时求出g

shaonianguai 1694
上一篇: The 37th ACM/ICPC Asia Regional JinHua Site Online Contest - D(爆搜)
下一篇: POJ2115 C Looooops
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值