• 「解题报告」遇到困难睡大觉


    Description

    如果你遇到了困难,你会怎么做呢?

    Solution

    睡大觉

    Code

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long
    #define int long long
    #define ull unsigned long long
    #define reg register
    #define pb push_back
    #define mp make_pair
    #define rep(i,a,b) for(reg int i=a;i<=b;++i) 
    #define Down(i,a,b) for(reg int i=a;i>=b;--i)
    template<typename T>inline void ckmax(T &x,T y){x=x<y?y:x; return ;}
    template<typename T>inline void ckmin(T &x,T y){x=x<y?x:y; return ;}
    inline int read(){
        int res=0,f=1; char k;
        while(!isdigit(k=getchar())) if(k=='-') f=-1;
        while(isdigit(k)) res=res*10+k-'0',k=getchar();
        return res*f;
    }
    namespace Output{
        char OPUT[100];
        inline void print(int x){
            if(!x) return putchar('0'),putchar(' '),void();
            if(x<0) putchar('-'),x=-x; 
            int cnt=0; while(x) OPUT[++cnt]=x%10,x/=10; 
            Down(i,cnt,1) putchar(OPUT[i]+'0'); putchar(' '); return ;
        }
    }using namespace Output;
    inline int gcd(int x,int y){return (!y)?x:gcd(y,x%y);}
    inline int lcm(int x,int y){return x/gcd(x,y)*y;}
    const int mod=998244353;
    inline int add(int x,int y,int Mod=mod){return x+y>=Mod?x+y-Mod:x+y;}
    inline int del(int x,int y,int Mod=mod){return x-y<0?x-y+Mod:x-y;}
    inline int mul(int x,int y,int Mod=mod){return x*y-x*y/Mod*Mod;}
    inline void ckadd(int &x,int y,int Mod=mod){x=x+y>=Mod?x+y-Mod:x+y;}
    inline void ckdel(int &x,int y,int Mod=mod){x=x-y<0?x-y+Mod:x-y;}
    inline void ckmul(int &x,int y,int Mod=mod){x=x*y-x*y/Mod*Mod;}
    inline int ksm(int x,int y,int Mod=mod){int res=1; for(;y;y>>=1,ckmul(x,x,Mod)) if(y&1) ckmul(res,x,Mod); return res;}
    inline void approx(int val,int Mod=mod,int lim=1e5){int x=val,y=Mod,a=1,b=0; while(x>lim){swap(x,y); swap(a,b); a-=x/y*b; x%=y;} cout<<x<<"/"<<a<<endl; return ;}
    const double pi=acos(-1);
    struct Complex{
        double x,y; Complex(){}
        Complex(double xx,double yy){x=xx; y=yy; return ;}
        Complex operator +(const Complex &a)const{return Complex(x+a.x,y+a.y);}
        Complex operator -(const Complex &a)const{return Complex(x-a.x,y-a.y);}
        Complex operator *(const Complex &a)const{return Complex(x*a.x-y*a.y,x*a.y+y*a.x);}
    };
    inline pair<Complex,Complex> square_root(Complex a){
        double len=sqrt(a.x*a.x+a.y*a.y); len=sqrt(len);
        double ang=atan2(a.y,a.x),a1=ang/2+pi,a2=ang/2; if(a2<0) a2+=2*pi; 
        return mp(Complex(cos(a1)*len,sin(a1)*len),Complex(cos(a2)*len,sin(a2)*len));
    }
    inline double cross(Complex a,Complex b){return a.x*b.y-a.y*b.x;}
    struct fractor{
            int x,y; fractor(){}
            fractor(int xx,int yy){x=xx; y=yy; return ;}
            fractor operator+(const fractor &a)const{
                int mu=lcm(y,a.y),zi=x*(mu/y)+a.x*(mu/a.y);
                int g=gcd(mu,zi); return fractor(zi/g,mu/g);
            }
            fractor operator*(const fractor &a)const{
                int gg=gcd(y,a.x)*gcd(x,a.y);
                return fractor(x*a.x/gg,y*a.y/gg);
            }
            bool operator <(const fractor &a)const{
                int da=x/y,db=a.x/a.y; if(da^db) return da<db;
                fractor t1=fractor(x-y*da,y),t2=fractor(a.x-a.y*db,a.y);
                return t1.x*t2.y<t2.x*t1.y;
            }
    };
    inline int random(int x){return 1ll*rand()*rand()%x+1;}
    inline int random(int l,int r){return 1ll*rand()*rand()%(r-l+1)+l;}
    namespace Graph_Maker{
    	set<pair<int,int> >st;
    	inline void insert(int x,int y){
    		if(x>y) swap(x,y); st.insert(mp(x,y)); return ;
    	}
    	inline bool check(int x,int y){
    		if(x>y) swap(x,y); if(st.count(mp(x,y))) return 0;
    		return 1;
    	}
    
    	inline void work(int n,int m){
    		print(n); print(m); puts("");
    		rep(i,1,n-1){
    			int x=random(i),y=i+1; 
    			print(x); print(y); puts("");
    			insert(x,y);
    		}
    		rep(i,n,m){
    			int x=random(1,n-1),y=random(x+1,n);
    			while(!check(x,y)) x=random(1,n-1),y=random(x+1,n);
    			insert(x,y); print(x); print(y); puts(""); 
    		} return ;
    	}
    }
    signed main(){
        srand((unsigned)time(0));
        system("g++ my.cpp -o my.out -std=c++11 -O2 -lm -Wall"); puts("My Code Compilation Finished");
        system("g++ std.cpp -o std.out -std=c++11 -O2 -lm -Wall"); puts("Std Code Compilation Finished");
        system("g++ mkd.cpp -o mkd.out -std=c++11 -O2 -lm -Wall"); puts("Data Maker Compilation Finished");
        for(reg int TestCaseIdx=1;;){
            system("./mkd.out>1.in"); 
            system("./my.out<1.in>my.ans"); 
            system("./std.out<1.in>std.ans");
            if(system("diff my.ans std.ans")) puts("Wrong Answer"),exit(0);
            else printf("遇到困难睡大觉! for %lld times 
    ",++TestCaseIdx);
        } return 0;
    }
    

    Review

    遇到困难睡大觉!

  • 相关阅读:
    JS&和&&-T
    PHP Xdebug
    PHP非对称加密
    JavaScript:弹框输出
    JavaScript:函数闭包
    JavaScript:函数
    JavaScript:正则表达式 & 日期对象
    JavaScript: Math数学对象 & Number对象
    JavaScript: 数组
    JavaScript: 常用字符串API
  • 原文地址:https://www.cnblogs.com/yspm/p/15173248.html
Copyright © 2020-2023  润新知