zoukankan      html  css  js  c++  java
  • 【题解】「CF675A」Infinite Sequence

    我用的是:分类讨论+暴力

    其中分类讨论中,我用了一种namespace名命名空间。如果:

    • (c = 0)

      (a == b) 时,输出 (YES) 否则 (NO)

    • (c < 1)

      列举所有的等差数列数字,当列举到 (b) 时:(YES), 因为 (c) 为负数,所以越加数越小,所以当当前列举的数已经 (<) (b) 时:(NO)

    • (c > 1)

      列举所有的等差数列数字,当列举到 (b) 时:(YES), 因为 (c) 为正数,所以越加数越大,所以当当前列举的数已经 (>) (b) 时:(NO)

    所以代码自然而然的就写出来啦!(我才不告诉你我WA多少次)

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring> 
    using namespace std;
    int a, b, c, flag; 
    namespace c0
    {
    	void sovle()
    	{
    		if (a == b)//当a = b时,标记
    			flag = 1;
    		else flag = 0;//否则,标记
    	}
    }
    namespace c1//名命名 :当c > 1时,进行一波操作
    {
    	void sovle()
    	{
    		while (1)
    		{
    			if (a == b)//当b在这个等差数列里时
    			{
    				flag = 1;//标记
    				return;
    			}
    			if (a > b)//如果b不存在于这个等差数列
    			{
    				flag = 0;//如果大于,标记
    				return;
    			}
    			a += c;
    		}
    	}
    }
    namespace c_1//名命名 :当c < 1时,进行另一波操作
    {
    	void sovle()
    	{
    		while (1)
    		{
    			if (a == b)
    			{
    				flag = 1;
    				break;
    			}
    			if (a < b)//如果小于
    			{
    				flag = 0;//标记
    				break;
    			}
    			a += c;
    		}
    	}
    }
    int main()
    {
    	cin >> a >> b >> c;//输入
    	if (c == 0) c0::sovle();//调用名空间
    	if (c > 0) c1::sovle();
    	if (c < 0) c_1::sovle();
    	if (flag == 1) cout << "YES";//输出
    	if (flag == 0) cout << "NO";
    	puts("");//换行
    	return 0;
    }
    
    
  • 相关阅读:
    Java 借助poi操作PDF工具类
    【ES】Java High Level REST Client 使用示例(增加修改)
    数据库表结构查询SQL
    MySQL windows中的存储备份
    jenkins + Ansible Plugin + ansi-color 让结果显示颜色
    jenkins 构建历史 显示版本号
    python 2.7.11 环境安装
    ansible 安装和使用
    豌豆夹Redis解决方案Codis安装使用
    Spark on Mesos部署
  • 原文地址:https://www.cnblogs.com/-TNT-/p/solution-cf675a.html
Copyright © 2011-2022 走看看