1 条题解
-
0Douglas LV 8 @ 2018-02-23 10:50:55
#include<bits/stdc++.h> using namespace std; #define xs 1e-10 int n,m,x,y,ans; double tar,a[10010]; void dfs(int x,int y,double sum) { if(sum+a[x+(m-y)-1]-a[x-1]-tar<-xs||sum+a[n]-a[n-(m-y)]-tar>xs)return;//精度卡死人啊! if(y==m){ ans++; return; } dfs(x+1,y+1,sum+1.0/x);dfs(x+1,y,sum); } int read() { int k=0; char f=1; char c=getchar(); while(c>'9'||c<'0') if(c=='-') { f=-1; c=getchar(); } while(c<='9'&&c>='0') { k=k*10+c-'0'; c=getchar(); } return k*f; }//模板快读 int main() { m=read(),n=read(),x=read(),y=read(); tar=1.0*x/y; for(int i=1;i<=n;++i) a[i]=a[i-1]+1.0/i; dfs(1,0,0.0); printf("%d\n",ans); return 0; }
- 1
信息
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 5
- 已通过
- 4
- 通过率
- 80%
- 上传者