华为机考真题,本人只会JS,故只能用JS语言编写,有会的小伙伴们用JS编写一下代码,并且能够顺利运行,感谢感谢!
20条回答 默认 最新
关注 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int N=1e3+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7; #define mst(a,b) memset(a,b,sizeof a) #define PII pair<int,int> #define fi first #define se second #define pb emplace_back #define SZ(a) (int)a.size() #define IOS ios::sync_with_stdio(false),cin.tie(0) void Print(int *a,int n){ for(int i=1;i<n;i++) printf("%d ",a[i]); printf("%d\n",a[n]); } struct node{ int a[3]; bool operator != (node b)const{ for(int i=0;i<3;i++) if(a[i]!=b.a[i]) return true; return false; } }A,B; int tmp; node fun(node A,int k){ int d1=A.a[1]-A.a[0],d2=A.a[2]-A.a[1]; if(d1==d2) return A; else if(d1<d2){ int t=min(k,(d2-1)/d1); k-=t; tmp+=t; A.a[0]+=t*d1,A.a[1]+=t*d1; } else { int t=min(k,(d1-1)/d2); k-=t; tmp+=t; A.a[1]-=t*d2,A.a[2]-=t*d2; } if(k) return fun(A,k); else return A; } int main(){ for(int i=0;i<3;i++) scanf("%d",&A.a[i]); for(int i=0;i<3;i++) scanf("%d",&B.a[i]); sort(A.a,A.a+3); sort(B.a,B.a+3); int dep1=0,dep2=0; node na=fun(A,inf);dep1=tmp,tmp=0; node nb=fun(B,inf);dep2=tmp,tmp=0; if(na!=nb) return puts("NO"),0; if(dep1>dep2){ swap(dep1,dep2); swap(A,B); } int ans=dep2-dep1; B=fun(B,ans); int l=0,r=dep1; while(l<r){ int m=l+r>>1; if(fun(A,m)!=fun(B,m)) l=m+1; else r=m; } ans+=(l<<1); puts("YES"); printf("%d\n",ans); return 0; }
解决 5无用
悬赏问题
- ¥15 vue2(标签-chrome|关键词-浏览器兼容)
- ¥15 python网络流自动生成系统 医学领域
- ¥15 代码的修改,添加和运行完善
- ¥15 krpano-场景分组和自定义地图分组
- ¥15 lammps Gpu加速出错
- ¥15 关于PLUS模型中kapaa值的问题
- ¥15 关于博途V17进行仿真时无法建立连接问题
- ¥15 机器学习教材中的例题询问
- ¥15 求.net core 几款免费的pdf编辑器
- ¥15 为什么安装HCL 和virtualbox之后没有找到VirtualBoxHost-OnlyNetWork?