Save the Room【找规律】

Save the Room
时间限制: 1 Sec 内存限制: 128 MB
提交: 149 解决: 90
[提交] [状态] [命题人:admin]
题目描述
Bob is a sorcerer. He lives in a cuboid room which has a length of A, a width of B and a height of C, so we represent it as ABC. One day, he finds that his room is filled with unknown dark energy. Bob wants to neutralize all the dark energy in his room with his light magic. He can summon a 112 cuboid at a time to neutralize dark energy. But the cuboid must be totally in dark energy to take effect. Can you foresee whether Bob can save his room or not?

输入
Input has T test cases. T≤100
For each line, there are three integers A, B, C.
1≤A,B,C≤100

输出
For each test case, if Bob can save his room, print “Yes”, otherwise print “No”.

样例输入
复制样例数据
1 1 2
1 1 4
1 1 1
样例输出
Yes
Yes
No

题目大意:
输入矩阵的长宽高,问其是否能被 1 × 1 × 2 1 \times1 \times2 1×1×2的矩阵填满,能输出Yes,否则No

解题思路:
对于任意一个矩阵,若其有一边为偶数,我们可以将此边当作高,因我们可以用 1 × 1 × 2 1 \times1 \times2 1×1×2的矩阵的 1 × 1 1 \times 1 1×1的底面填满目标矩阵的底面,此时其高恰好为 2 2 2,由于目标矩阵高为偶数,因此其一定能被基础矩阵填满。
也可以理解为,若要用 1 × 1 × 2 1 \times1 \times2 1×1×2的矩阵填满目标矩阵,其体积就一定为偶数。
所以此题仅需判断所给矩阵三边中是否有偶数即可。

代码:

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <bitset>
#include <set>
#include <utility>
#include <sstream>
#include <iomanip>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define inf 0x3f3f3f3f
#define rep(i,l,r) for(int i=l;i<=r;i++)
#define lep(i,l,r) for(int i=l;i>=r;i--)
#define ms(arr) memset(arr,0,sizeof(arr))
//priority_queue<int,vector<int> ,greater<int> >q;
const int maxn = (int)1e5 + 5;
const ll mod = 1e9+7;
int main() 
{
    #ifndef ONLINE_JUDGE
    freopen("in.txt", "r", stdin);
    #endif
    //freopen("out.txt", "w", stdout);
    //ios::sync_with_stdio(0),cin.tie(0);
    int a,b,c;
    while(scanf("%d %d %d",&a,&b,&c)!=EOF) {
    	if((a*b*c)%2==0) printf("Yes\n");
    	else printf("No\n");
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值