Orz

送分比较慷慨的一道题,疯狂特判能拿不少分。

对于$a>0,b>0$的情况:

用exgcd求出方程通解,然后通过操作得到最小正整数解和最大正整数解

他们以及他们之间的解满足等差数列性质,小学数奥求项数即可

(其实就是(末项-首项)/公差+1)

其他情况特判掉或者转化为可处理情况即可(比如全负),不多说,代码里写的还是比较清晰的

//#define XR
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int T,a,b,c,x,y;
//void exgcd(int a,int b,int &x) int exgcd(int a,int b,int &x,int &y,int c)
{
if(!b)
{
x=c/a;
y=;
return a;
}
int g=exgcd(b,a%b,y,x,c);
y-=a/b*x;
return g;
}
void work()
{
scanf("%d%d%d",&a,&b,&c);x=y=;
if(a==&&b==)
{
if(c==)
{
puts("ZenMeZheMeDuo");
return ;
}
else
{
puts("");
return ;
}
}
if(a==||b==)
{
long long now=a+b;
if(c==||(c%now==&&(long long)now*c>))
{
puts("ZenMeZheMeDuo");
return ;
}
else
{
puts("");
return ;
}
}
if((a>&&b>&&c<=)||(a<&&b<&&c>=)||(a>&&b>&&a+b>c)||(a<&&b<&&a+b<c))
{
puts("");
return ;
}
if(a==b&&a==)
{
if(c>)puts("ZenMeZheMeDuo");
else if(c<=)puts("");
else cout<<c-<<endl;
return ;
}
if(a+b==c)
{
puts("");
return ;
}
if(a<&&b<)a=-a,b=-b,c=-c;
int GCD=exgcd(a,b,x,y,c);//cout<<GCD<<endl;
if(c%GCD!=)
{
puts("");
return ;
} if((long long)a*b<)
{ puts("ZenMeZheMeDuo");
return ;
}
a/=GCD;b/=GCD;c/=GCD;x%=b;
while(x<=)x+=b;
y=(c-a*x)/b;
int ym=y%a;
while(ym<=)ym+=a;int ans;
if(ym>y)ans=;
else ans=(y-ym)/a+;
if(ans>)puts("ZenMeZheMeDuo");
else cout<<ans<<endl; }
void test()
{
scanf("%d%d",&a,&b);
exgcd(a,b,x,y,c);
cout<<x<<' '<<y<<endl;
}
int main()
{
// cout<<(18%(-5))<<endl;
//while(1)test();
#ifdef XR
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif
scanf("%d",&T);
while(T--)work();
return ;
}

最新文章

  1. Linux0.11内核--系统调用机制分析
  2. Active MQ 传输 ObjectMessage 异常
  3. [转]Linux软连接和硬链接
  4. [php入门] 3、WAMP中的集成MySQL相关基础操作
  5. jQuery.ajax() 函数详解
  6. 山东ACM省赛历届入口
  7. 【Map】获取字符串中,每一个字母出现的次数
  8. HDU 4341 分组背包
  9. Linux下多线程编程
  10. Javascript日期处理类库Moment.js
  11. mvc图片地址
  12. RabbitMQ核心概念篇
  13. Java Integer类型比较
  14. nodejs接收get参数和post参数
  15. 【AO笔记】有关TIN数据集的常用介绍
  16. Linux运维必会的MySQL企业面试题大全
  17. python 获取本机的IP
  18. cocos2d-x播放视频的处理
  19. java微信小程序解密AES/CBC/PKCS7Padding
  20. 也来说说C#异步委托 (转自 Rising_Sun)

热门文章

  1. Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
  2. TDengine陶建辉 自带聚光灯&amp;BGM的半百少年
  3. 框架-.NET:ASP.NET MVC
  4. Nginx网络架构实战学习笔记(五):大访问量优化整体思路、ab压力测试及nginx性能统计模块、nginx单机1w并发优化
  5. LightOJ 1248 Dice (III) (期望DP / 几何分布)
  6. Catch and Buffer
  7. js中继承的实现,原型链的知识点归纳,借用构造函数,组合继承(伪经典继承)
  8. c数据结构的字符串查找的Brute-Force算法
  9. 标准模板库(STL)学习探究之Multimap容器
  10. python 根据余弦定理计算两边的夹角