列表

详情


NC200203. 小小小马

描述

给定一个棋盘,已知棋盘的行数和列数是 ,每个整数坐标处都有一个糖果, 初始在棋盘的左下角  出发,并且  每次只能跳 ”日” 字,假设  可以跳无数次,但不可以跳出棋盘,现在  想知道他能否拿到棋盘上的所有糖果。

输入描述

在一行中给出两个数字 ,表示棋盘的大小 

输出描述

若  能拿到棋盘上所有的糖果,则输出 "Yes",否则,输出 "No"

示例1

输入:

4 4

输出:

Yes

说明:

 可以走到所有的点上并且拿到所有的糖果。

示例2

输入:

3 3

输出:

No

说明:

棋盘如图所示, 一开始在左下角  ,此时  除了中间的点  无法走到,其他点都可到达。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang11) 解法, 执行用时: 11ms, 内存消耗: 424K, 提交时间: 2021-01-28 23:05:56

#include<stdio.h>
int main()
{
    int n, m;
    scanf("%d%d", &n, &m);
    if((n==1&&m==1)||(n>=3&&m>=3&&n+m!=6))
        printf("Yes\n");
    else
        printf("No\n");
}

C++14(g++5.4) 解法, 执行用时: 7ms, 内存消耗: 420K, 提交时间: 2020-01-04 16:36:09

#include <stdio.h>
int a,b;
int main() {
    scanf("%d%d",&a,&b);
    if((a>3&&b>2)||(a>2&&b>3)||(a==1&&b==1)) printf("Yes\n");
    else printf("No\n");
    return 0;
}

Python3 解法, 执行用时: 58ms, 内存消耗: 7088K, 提交时间: 2021-11-19 18:38:35

a,b=map(int,input().split())
if a>b:
    t=a
    a=b
    b=t
if a==1 and b==1:
    print("Yes")
elif a>=3 and b>3:
    print("Yes")
else:
    print("No")

C++11(clang++ 3.9) 解法, 执行用时: 9ms, 内存消耗: 504K, 提交时间: 2019-12-23 17:43:34

#include<bits/stdc++.h>
int main(){
	int n,m; std::cin>>n>>m; if(n>m) std::swap(n,m); 
	puts(n==1&&m==1||n>=3&&m>3?"Yes":"No");
}

上一题