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的矩阵填满,能输出Yes,否则No
解题思路:
对于任意一个矩阵,若其有一边为偶数,我们可以将此边当作高,因我们可以用1×1×2的矩阵的1×1的底面填满目标矩阵的底面,此时其高恰好为2,由于目标矩阵高为偶数,因此其一定能被基础矩阵填满。
也可以理解为,若要用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;
}