zoukankan      html  css  js  c++  java
  • 2017-10-26 NOIP模拟赛

    三分咲

    #include<iostream>
    #include<cstdio>
    #include<ctime>
    using namespace std;
    int n,m,s;
    int main(){
        //freopen("Cola.txt","r",stdin);
        freopen("three.in","r",stdin);freopen("three.out","w",stdout);
        scanf("%d%d",&n,&m);
        for(register int i=2;i<=n;++i){
            s=s+m;
            while(s>=i)s-=i;
        }
        printf("%d",s+1);
    }
    100分

    五分咲

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    using namespace std;
    double xs,ys,xt,yt,xa,ya,r,xb,yb,xc,yc,va,vb,vc;
    double A,B,C;
    void line(double m,double n,double p,double q){
        A=n-q;B=-(m-p);C=q*m-p*n;//计算直线解析式 
    }
    double dis(double m,double n,double p,double q){
        double res=sqrt((m-p)*(m-p)+(n-q)*(n-q));//两点之间距离 
        return res;
    }
    int main(){
        //freopen("Cola.txt","r",stdin);
        freopen("five.in","r",stdin);freopen("five.out","w",stdout);
        scanf("%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf%lf",&xs,&ys,&xt,&yt,&xa,&ya,&r,&xb,&yb,&xc,&yc,&va,&vb,&vc);
        if(xb>xc)swap(xb,xc),swap(yb,yc);
        line(xb,yb,xc,yc);
        if(va==vb&&va==0){
            /*double d=fabs(A*xa+B*yb+C)/(sqrt(A*A+B*B));
            if(d<=r){//直线与圆相交 
                double d1=dis(xa,ya,xb,yb);
                double d2=dis(xa,ya,xc,yc);
                double ans=min(d1,d2);
                if(ans<=r){puts("0.000");return 0;}
                ans-=r;printf("%.3lf",ans/vc);return 0;
            }
            double W=ya-(B*xa/A);
            double footx=(-A*C-W*A*B)/(B*B+A*A);//垂足的坐标 
            double footy=(W*A*A-C*B)/(B*B+A*A);
            if(footx>=xc){
                double ans=dis(xa,ya,xc,yc);
                ans-=r;
                printf("%.3lf",ans/vc);return 0;
            }
            if(footx<=xb){
                double ans=dis(xa,ya,xb,yb);
                ans-=r;
                printf("%.3lf",ans/vc);return 0;
            }
            if(footx<xc&&footx>xb){
                double ans=d-r;
                printf("%.3lf",ans/vc);return 0;
            }*/
            printf("%.3lf",dis(xs,ys,xt,yt)/vc);return 0;
        }
        if(r==0){
            if(va==vb&&vb==vc){
                double ans=dis(xs,ys,xt,yt)/va;
                printf("%.3lf",ans);return 0;
            }
            double lx=xb,rx=xc,ly=yb,ry=yc;
            double ans=1000000000;
            for(int i=1;i<=40;i++){
                double midx1=(2*lx+rx)/3.0,midy1=(2*ly+ry)/3.0;
                double midx2=(2*rx+lx)/3.0,midy2=(2*ry+ly)/3.0;
                double ans1=dis(xs,ys,midx1,midy1)/vc+dis(midx1,midy1,xt,yt)/vb;
                double ans2=dis(xs,ys,midx2,midy2)/vc+dis(midx2,midy2,xt,yt)/vb;
                if(ans1<ans2)ans=ans1,rx=midx2,ry=midy2;
                else ans=ans2,lx=midx1,ly=midy1;
            }
            printf("%.3lf",ans);return 0;
        }
        printf("%.3lf",dis(xs,ys,xt,yt)/vc);
    }
    45分 三分+特判

    八分咲

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int n,k,t,sum,x,y;
    bool flag=0;
    int main(){
        freopen("eight.in","r",stdin);freopen("eight.out","w",stdout);
        scanf("%d%d%d",&n,&k,&t);
        for(int i=1;i<n;i++)scanf("%d%d",&x,&y);
        int z;
        for(int i=1;i<=n;i++){
            scanf("%d%d",&x,&y);
            sum+=x;
            if(y>0)flag=1;
            for(int j=1;j<=y;j++){
                scanf("%d%d",&x,&z);
            }
        }
        if(sum<71||flag==0){printf("%d",sum);return 0;}
        else puts("71");
    }
    35分 骗分
  • 相关阅读:
    记录ViewPager配合Fragment使用中遇到的一个问题
    StringBuffer类的构造方法
    认识StringBuffer类
    Java中增强for循环的用法
    xml解析案例
    XML的序列化(Serializer)
    文件权限之(介绍,更改,扩展)
    保存数据到sdcard中去
    反编译
    后端——框架——容器框架——spring_core——格式化器
  • 原文地址:https://www.cnblogs.com/thmyl/p/7736445.html
Copyright © 2011-2022 走看看