• B. Magic Stick


    题目:魔法棒##

    题意:可以对一个正数进行变换,如果数字是偶数,那么它可以变成3 * a / 2
    如果这个数大于1,那么它可以变成a - 1

    有两个数x和y,询问是否可以通过这些操作从x变成y,输出YES或NO

    分析,1不能通过变换变成其它任何数字,2可以变成3或者1,3只能变成2

    分类讨论
    如果x > 3,x可以变成任何数字
    分析x <= 3,如果x == 3,那么3只能变成2, 再从2变成3或者1,因此y必须小于等于3
    如果x == 2,y必须小于等于3
    如果x == 1,y必须等于1

    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    
    using namespace std;
    const int INF = 0x3f3f3f3f;
    int main()
    {
    	int t;
    	scanf("%d", &t);
    	int x, y;
    
    	while (t--)
    	{
    		scanf("%d%d", &x, &y);
    		//从x变换为y
    
    		//x > 3那么可以变成任何数字
    		if (x > 3)
    		{
    			puts("YES");
    		}
    		else if (x == 1)
    		{
    			if (y == 1)
    				puts("YES");
    			else
    				puts("NO");
    		}
    		else if (x <= 3)
    		{
    			if (y <= 3)
    			{
    				puts("YES");
    			}
    			else {
    				puts("NO");
    			}
    		}
    		
    
    	}
    
    	return 0;
    }
    
    
    
    
  • 相关阅读:
    信号
    序列化数据的两种方式
    ModelForm的使用
    分页模板
    Django中间件进行用户登陆验证
    Flask 笔记一
    pipenv 使用基本命令
    git本地文件 上传 远程仓库
    service "$service" status 返回的状态
    &>/dev/null 的作用
  • 原文地址:https://www.cnblogs.com/pixel-Teee/p/11961999.html
Copyright © 2020-2023  润新知