bzoj 1407 Savage
来源:互联网 发布:joel说软件 pdf 编辑:程序博客网 时间:2024/06/08 04:45
1407: [Noi2002]Savage
Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1909 Solved: 859
[Submit][Status][Discuss]
Description
Input
第1行为一个整数N(1<=N<=15),即野人的数目。
第2行到第N+1每行为三个整数Ci, Pi, Li表示每个野人所住的初始洞穴编号,每年走过的洞穴数及寿命值。
(1<=Ci,Pi<=100, 0<=Li<=10^6 )
Output
仅包含一个数M,即最少可能的山洞数。输入数据保证有解,且M不大于10^6。
Sample Input
3
1 3 4
2 7 3
3 2 1
1 3 4
2 7 3
3 2 1
Sample Output
6
//该样例对应于题目描述中的例子。
//该样例对应于题目描述中的例子。
HINT
Source
鸣谢刘汝佳先生授权使用
【分析】
参见 http://www.cnblogs.com/SilverNebula/p/5660192.html
【代码】
#include<iostream>#include<cstring>#include<cstdio>#define inf 1e9+7#define ll long long#define fo(i,j,k) for(i=j;i<=k;i++)using namespace std;const int mxn=20;int n,m;int C[mxn],p[mxn],l[mxn];inline int gcd(int x,int y) {return x%y==0?y:gcd(y,x%y);}inline void exgcd(int a,int b,int &x,int &y){ if(!b) {x=1,y=0;return;} exgcd(b,a%b,y,x); y-=a/b*x;}inline bool ok(){ int i,j,x,y; fo(i,1,n) fo(j,i+1,n) { int a=p[i]-p[j],b=m,c=C[j]-C[i]; int tmp=gcd(a,b); if(c%tmp!=0) continue; a/=tmp,b/=tmp,c/=tmp; if(b<0) b=-b; exgcd(a,b,x,y); x=((x*c%b)+b)%b; if(!x) x+=b; if(x<=min(l[i],l[j])) return 0; } return 1;}int main(){ int i,j; scanf("%d",&n); fo(i,1,n) { scanf("%d%d%d",&C[i],&p[i],&l[i]); m=max(m,C[i]); }m--; while(++m) if(ok()) { printf("%d\n",m); return 0; }}
阅读全文
0 0
- 【BZOJ 1407】 [Noi2002]Savage
- bzoj 1407: [Noi2002]Savage
- bzoj 1407 Savage
- 【扩展欧几里得】Bzoj 1407: [Noi2002]Savage
- BZOJ 1407: [Noi2002]Savage 扩展欧几里得
- [BZOJ 1407][NOI 2002]Savage(中国剩余定理+扩展欧几里得)
- BZOJ-1407 Savage 枚举+拓展欧几里得(+中国剩余定理??)
- bzoj [Noi2002]Savage 扩展欧几里得
- 1407: [Noi2002]Savage
- savage
- 1407: [Noi2002]Savage 扩展欧几里得算法
- 野人花园 savage guarden
- uva - 10230 - Savage Garden
- bzoj1407: [Noi2002]Savage
- [BZOJ1407][Noi2002]Savage
- bzoj1407: [Noi2002]Savage
- bzoj1407【NOI2002】Savage
- BZOJ1407: [Noi2002]Savage
- LeetCode Pow(x,n)(分治法)
- Hive的配置
- JAVA中sort函数的 自定义排序 cmp函数的写法 (基础向)
- Web自动化工具对比
- 163邮箱本地测试发送邮件成功服务器报Sending the email to the following server failed : smtp.163.com:25
- bzoj 1407 Savage
- Linux设备驱动模型中的热插拔机制及实验
- JS对DOM的操作
- 快速理解bootstrap,bagging,boosting-三个概念
- 网格顶点法向的计算(基于面平均方法)
- 图解扩展kmp--by boshi
- Shell基础
- 快速排序算法的理解
- Android APP压力测试环境搭建