首页 > 试题广场 >

魔幻球球

[编程题]魔幻球球
  • 热度指数:26 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
牛牛拥有 个红球, 个绿球, 个黑球以及 个白球。

牛牛可以取红球、绿球、黑球各一个,然后将它们转变成三个白球。只要取完球,球的个数非负,那么,就可以进行任意多次该操作。

现在,牛牛想知道,经过若干次变换之后的球,在不舍弃任何一颗球的基础上,能否在一排排成回文的形态?即:从前往后和从后往前都是一样的。

例如:最终球的个数依次为 ,那么可以摆成 ,这是一个回文的形态,而如果最终球的个数依次为 ,那么无论如何也不能摆成一个回文形态。这里特殊规定,若最终所有球的数量均为 ,则可认为是个特殊的回文形态。

输入描述:
本题为多组测试数据,第一行输入一个正整数 ,代表测试数据组数。

对于每组测试数据,一行输入四个整数 ,依次代表初始状态下红球、绿球、黑球、白球的个数。


输出描述:
对于每组测试数据,如果经过若干次操作之后能够组成一个回文形态,那么在第一行输出 ,第二行依次输出最终红球、绿球、黑球、白球的个数,如果存在多种可能,任意输出一种即可;如果无论如何都不能组成一个回文形态,那么只需要在第一行输出 .
示例1

输入

2
0 0 1 4
0 3 6 9

输出

Yes
0 0 1 4
No

这道题你会答吗?花几分钟告诉大家答案吧!