zoukankan      html  css  js  c++  java
  • 20181027牛客A 循环

    被套路了。。。

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main()
    {
    	int a,op,b,c;
    	scanf("%d%d%d%d",&a,&op,&b,&c);
    	int ans;
    	if(c>0){
    		if(op==1){
    			if(a>=b) ans=0;
    			else ans=(b-a)/c+1;
    		}
    		if(op==2){
    			if(a>=b) ans=-1;
    			else ans=0;
    		}
    		if(op==3){
    			if(a>=b) ans=0;
    			else{
    				if((b-a)%c!=0) ans=-1;
    				else ans=(b-a)/c;
    			}
    		}
    	}
    	if(c==0){
    		if(op==1){
    			if(a<=b) ans=-1;
    			else ans=0;
    		}
    		if(op==2){
    			if(a>=b) ans=-1;
    			else ans=0;
    		}
    		if(op==3){
    			if(a!=b) ans=-1;
    			else ans=0;
    		}
    	}
    	if(c<0){
    		if(op==1){
    			if(a<=b) ans=-1;
    			else ans=0;
    		}
    		if(op==2){
    			if(a<=b) ans=0;
    			else ans=(b-a)/c+1;
    		}
    		if(op==3){
    			if(a<=b) ans=0;
    			else{
    				if((b-a)%c!=0) ans=-1;
    				else ans=(b-a)/c;
    			}
    		}
    	}
    	printf("%d",ans);
    	return 0;
    }
    

    从c的取值范围入手分析:正数、0、负数。(为什么我的思维这么怪异)

    归根结底其实只有18种情况,不慌。

  • 相关阅读:
    2019春季总结
    求最大值及其下标
    课程设计第四次作业
    课程设计第三次作业
    课程设计第一次作业
    课程设计第二次作业
    第十二周作业
    第十一周作业
    第十周作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/dong-ji-yuan/p/9860923.html
Copyright © 2011-2022 走看看