牛客网-Number Steps【找规律】

在这里插入图片描述

感觉NK的题,无论是搜索,dp,字符串匹配都比不上找规律啊为自己的孱弱买单 。一开始想着八个点一个周期,来找找点之间的规律,结果一直没啥头绪,后来一看题解才知道,根本不需要考虑周期性,有更鲜明的规律,对坐标(x0,y0),设他的序号为s

  • 其实就两条直线,x=yy=x-2,只有点在这两条直线上,才能判断位置。
  • x=y上的点,如果x0,y0是偶数,那么s=x0+y0,否则s=x0+y0-1
  • y=x-1上的点,如果x0是偶数,那么s=x0+y0,否则s=x0+y0-1
	while (cin >> x >> y) {
		ll res = -1;
		if (x == y) {//在对角线上
			if (x % 2 == 0)res = x + y;
			else res = x * 2 - 1;
		}
		else if (x - y == 2) {
			if (x % 2 == 0)res = x + y;
			else res = x + y - 1;
		}
		if (res != -1)cout << res << endl;
		else cout << "No Number" << endl;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值