【2018年全国多校算法寒假训练营练习比赛(第三场)】
2018-02-04 19:43
741 查看
之前题目比较水,今天的还可以。
【A 不凡的大夫】
方法一:答案是log8(n!),解决方案是预处理,将需要的答案记录下来以免超内存;
方法二:用公式,斯特林公式:
View Code
【A 不凡的大夫】
方法一:答案是log8(n!),解决方案是预处理,将需要的答案记录下来以免超内存;
方法二:用公式,斯特林公式:
#include<cmath> #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define ll long long ll x[4],y[4],ans[4]; double S; ll gcd(ll a,ll b) { return b== 0 ? a : gcd(b,a%b); } void getS() { ll x1=x[2]-x[1]; ll y1=y[2]-y[1]; ll x2=x[3]-x[1]; ll y2=y[3]-y[1]; S=abs(1.0*x1*y2-x2*y1)/2; } void get(int u) { int x0,y0; if(u==1){ x0=abs(x[2]-x[1]); y0=abs(y[2]-y[1]); } if(u==2){ x0=abs(x[3]-x[2]); y0=abs(y[3]-y[2]); } if(u==3){ x0=abs(x[3]-x[1]); y0=abs(y[3]-y[1]); } if(x0==0&&y0==0) ans[u]=1; ans[u]=gcd(x0,y0)-1; } int main() { while(~scanf("%lld",&x[1])){ if(x[1]==-1) break; scanf("%lld%lld%lld%lld%lld",&y[1],&x[2],&y[2],&x[3],&y[3]); getS(); get(1); get(2); get(3); int tS=S; ans[0]=S-(ans[1]+ans[2]+ans[3]+3)/2+1; printf("%.1f %lld %lld %lld %lld\n",S,ans[0],ans[1],ans[2],ans[3]); } return 0; }
View Code
相关文章推荐
- [ 牛客网 ] 2018年全国多校算法寒假训练营练习比赛(第三场)— D 小牛vs小客
- 2018年全国多校算法寒假训练营练习比赛(第三场)E
- 2018年全国多校算法寒假训练营练习比赛(第三场)---E---题(大数阶乘(模板题)c++/java/py)
- 2018年全国多校算法寒假训练营练习比赛(第三场)题解 A-不凡的夫夫(斯特林定理的应用)
- 牛客网 2018年全国多校算法寒假训练营练习比赛(第三场) F 小牛再战(博弈)
- 2018年全国多校算法寒假训练营练习比赛(第三场)
- 2018年全国多校算法寒假训练营练习比赛(第三场)F
- D-小牛vs小客——2018年全国多校算法寒假训练营练习比赛(第三场)
- poj2891和2018年全国多校算法寒假训练营练习比赛(第三场)B:一个小问题
- 2018年全国多校算法寒假训练营练习比赛(第三场)G
- 2018年全国多校算法寒假训练营练习比赛(第三场) A
- G-大水题——2018年全国多校算法寒假训练营练习比赛(第三场)
- 2018年全国多校算法寒假训练营练习比赛(第三场)---F---题(博弈)
- 2018年全国多校算法寒假训练营练习比赛(第三场)E-进击吧!阶乘(大数问题)
- nowcoder 2018年全国多校算法寒假训练营练习比赛(第三场)- 大水题
- 2018年全国多校算法寒假训练营练习比赛(第三场)题解 G 大水题(容斥定理)
- 2018年全国多校算法寒假训练营练习比赛(第三场)G-大水题(容斥原理)
- 2018年全国多校算法寒假训练营练习比赛(第三场)---G---题(容斥原理)
- 2018年全国多校算法寒假训练营练习比赛(第三场)F
- 2018年全国多校算法寒假训练营练习比赛(第三场)A