洛谷[P2391] 白雪皑皑

暴力碾标算。    
思路: 从后往前对每一个点进行遍历!  
那就看一波代码吧......... 

#include<bits/stdc++.h>
inline int read(){   //以下部分都是优化
    int X=0;char ch=getchar();
    while(!isdigit(ch)) ch=getchar();
    while(isdigit(ch)) X=X*10+ch-'0',ch=getchar();
    return X;
}
void print(int X){
    if(X>=10) print(X/10);
    putchar(X%10+'0');
}
inline int min(int a,int b){return a>b?b:a;}
inline int max(int a,int b){return a<b?b:a;}    //下面就是主体代码了!
int  a,b,c,d,e[1000002];
int main(){
    a=read(),b=read(),c=read(),d=read();
    for(int i=1;i<=a;++i)
        for(int j=b;j>=0;j--)
            if((min((j*c+d)%a+1,(j*d+c)%a+1)<=i&&max((j*c+d)%a+1,(j*d+c)%a+1)>=i)||j==0){
                print(j);putchar(10);break;
            }
    return 0;
}

 

posted @ 2018-10-23 20:16  Viston  阅读(110)  评论(0)    收藏  举报