NC54758. 碰碰乐
描述
输入描述
第一行输入一个整数t(0t1000),代表测试数据的组数。
在接下来的t行,每一行都有三个整数a,b,c,分别表示三角形,圆形和正方形的数量(0a,b,c2e7)。
输出描述
输出“YES”或"NO"(YES和NO均不包含双引号,只需要输出字母就可以了),表示结果。
示例1
输入:
2 6 6 6 1 2 3
输出:
YES NO
说明:
对于样例一,我们已知有6个三角形,6个圆形和6个正方形。因为一个三角形和一个圆形碰撞之后可以得到两个正方形,经过这样一次操作之后,我们得到了5个三角形,5个圆形和8个正方形,若干次这样的操作之后,我们可以得到18个正方形,这样我们把三种不同形状的物体变成了一种形状的物体,所以输出“YES“。(最后不一定要都转变为正方形,只要所有物体最后变成同一种形状就可以。)(6,6,6)->(5,5,8)->(4,4,10)->(3,3,12)->(2,2,14)->(1,1,16)->(0,0,18)样例所给出三种形状数目状态变化如上。C++14(g++5.4) 解法, 执行用时: 7ms, 内存消耗: 476K, 提交时间: 2020-05-11 15:57:48
#include<bits/stdc++.h> using namespace std; int main() { int a,b,c,t; cin>>t; while( t-- ) { cin>>a>>b>>c; if( (a-b)%3==0 || (a-c)%3==0 || (b-c)%3==0 ) puts("YES"); else puts("NO"); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 256K, 提交时间: 2021-11-20 13:15:09
#include<stdio.h> int main() { long long a,b,c,n; scanf("%lld",&n); while(n--){ scanf("%lld %lld %lld",&a,&b,&c); if((a-b)%3==0||(b-c)%3==0||(a-c)%3==0) printf("YES\n"); else printf("NO\n"); } }
C++11(clang++ 3.9) 解法, 执行用时: 5ms, 内存消耗: 480K, 提交时间: 2020-02-16 17:41:47
#include<stdio.h> int main() { int t,a,b,c; scanf("%d",&t); while(t--) { scanf("%d%d%d",&a,&b,&c); printf((a-b)%3==0||(c-b)%3==0||(a-c)%3==0?"YES\n":"NO\n"); } return 0; }