[Noi2002]Savage

数学题。

题解回去写(有个坑点)

flag++

#include <cstdio>
int n,m,c[25],p[29],l[29];
int exgcd(int a,int b,int &x,int &y){
if(!b){x=1,y=0;return a;}
int ans=exgcd(b,a%b,x,y),t=x;
x=y,y=t-a/b*y;
return ans;
}
int max(int a,int b){return a>b?a:b;}
int min(int a,int b){return a<b?a:b;}
int gcd(int a,int b){return b?gcd(b,a%b):a;}
bool check(int ans){
int x,y;
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
int b=ans,a=p[j]-p[i],C=c[i]-c[j],g=gcd(a,b);x=0,y=0;
if(C%g==0){
a/=g,b/=g,C/=g;
exgcd(a,b,x,y);
b=b<0?-b:b;
x=(x*C%b+b)%b;
if(!x) x+=b;
if(x<=min(l[i],l[j]))return 0;
}
}
}
return 1;
}
int main(){
int mx=-1;
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d%d%d",&c[i],&p[i],&l[i]),mx=max(mx,c[i]);
for(int ans=mx;ans<=1e6;ans++)if(check(ans))return !printf("%d",ans);
}

最新文章

  1. jquery获得option的值和对option进行操作
  2. golang: 根据json生成go源文件
  3. 给员工授予svn相关权限
  4. 6410移植android4.4.2笔记(持续更新)
  5. clean之后R文件消失
  6. Mini ORM——PetaPoco笔记(转)
  7. 编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/....dll”--“拒绝访问。
  8. JavaScript,通过分析Array.prototype.push重新认识Array
  9. C++ Primer 有感(异常处理)
  10. eclipse 更改官方配色
  11. shell基本命令学习
  12. vue安装之后的报错处理---chromedriver@2.35.0 install: `node install.js`
  13. 使用 ado.net访问数据库
  14. CSS如何进行图文并茂布局怎么破
  15. MySQL学习----unsigned 无符号的总结
  16. Logstash5.3借助临时字段修改@timestamp为北京时间,方便按天生成output文件
  17. pandas的merge方法
  18. leetcode132. Palindrome Partitioning II
  19. localAddress
  20. XHTML的规范化

热门文章

  1. 《深入理解Android 卷III》第八章深入理解Android壁纸
  2. Google Style Guides-Shell Style Guide
  3. 面向基于英特尔&amp;#174; 架构的 Android* 的 CoCos2D
  4. 关于Java特种兵下冊
  5. android-PullRefreshLayout使用
  6. luogu2606 排列计数
  7. Php learn note
  8. suse linux通过iso文件安装gcc
  9. Maven打包编译错误工作区间设置编码格式gbk可以utf-8不可以
  10. [TB-Technology] 淘宝在数据处理领域的项目及开源产品介绍