每日一题 第十六期 Codeforces Round 911 (Div. 2)

B. Laura and Operations

time limit per test: 2 seconds

memory limit per test: 256 megabytes

input: standard input

output: standard output

Laura is a girl who does not like combinatorics. Nemanja will try to convince her otherwise.

Nemanja wrote some digits on the board. All of them are either 1 1 1, 2 2 2, or 3 3 3. The number of digits 1 1 1 is a a a. The number of digits 2 2 2 is b b b and the number of digits 3 3 3 is c c c. He told Laura that in one operation she can do the following:

  • Select two different digits and erase them from the board. After that, write the digit ( 1 1 1, 2 2 2, or 3 3 3) different from both erased digits.

For example, let the digits be 1 1 1, 1 1 1, 1 1 1, 2 2 2, 3 3 3, 3 3 3. She can choose digits 1 1 1 and 3 3 3 and erase them. Then the board will look like this 1 1 1, 1 1 1, 2 2 2, 3 3 3. After that, she has to write another digit 2 2 2, so at the end of the operation, the board will look like 1 1 1, 1 1 1, 2 2 2, 3 3 3, 2 2 2.

Nemanja asked her whether it was possible for only digits of one type to remain written on the board after some operations. If so, which digits can they be?

Laura was unable to solve this problem and asked you for help. As an award for helping her, she will convince Nemanja to give you some points.
Input

Each test contains multiple test cases. The first line contains the number of test cases t t t ( 1 ≤ t ≤ 1 0 5 1 \le t \le 10^5 1≤t≤105). The description of the test cases follows.

The first and only line of each test case contains three integers a a a, b b b, c c c ( 1 ≤ a , b , c ≤ 100 1 \le a, b, c \le 100 1≤a,b,c≤100) --- the number of ones, number of twos, and number of threes, respectively.
Output

For each test case, output one line containing 3 3 3 integers.

The first one should be 1 1 1 if it is possible that after some operations only digits 1 1 1 remain on the board, and 0 0 0 otherwise.

Similarly, the second one should be 1 1 1 if it is possible that after some operations only digits 2 2 2 remain on the board, and 0 0 0 otherwise.

Similarly, the third one should be 1 1 1 if it is possible that after some operations only digits 3 3 3 remain on the board, and 0 0 0 otherwise.

Example

inputCopy

3

1 1 1

2 3 2

82 47 59

outputCopy

1 1 1

0 1 0

1 0 0

Note

In the first test case, Laura can remove digits 2 2 2 and 3 3 3 and write digit 1 1 1. After that, the board will have 2 2 2 digits 1 1 1. She can make it have only digits 2 2 2 or 3 3 3 left by performing a similar operation.

In the second test case, she can remove digits 1 1 1 and 3 3 3 and write a digit 2 2 2. After performing that operation 2 2 2 times, the board will have only digits 2 2 2 left. It can be proven that there is no way to have only digits 1 1 1 or only digits 3 3 3 left.

In the third test case, there is a sequence of operations that leaves only digits 1 1 1 on the board. It can be proven that there is no way to have only digits 2 2 2 or only digits 3 3 3 left.

AC代码:

cpp 复制代码
#include<map>
#include<set>
#include<stack>
#include<cmath>
#include<queue>
#include<string>
#include<bitset>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<numeric>
#define endl '\n'
using namespace std;

typedef long long ll;
typedef pair<int, int>PII;
const int N=3e5+10;
const int MOD=998244353;
const int INF=0X3F3F3F3F;
const int dx[]={-1,1,0,0,-1,-1,+1,+1};
const int dy[]={0,0,-1,1,-1,+1,-1,+1};
const int M = 1e6 + 10;

int t;

int main()
{
	cin >> t;
	while(t --){
		int a, b, c;
		cin >> a >> b >> c;
		if(abs(b - c) % 2 == 0) cout << 1 << " ";
		else cout << 0 << " ";
		if(abs(a - c) % 2 == 0) cout << 1 << " ";
		else cout << 0 << " ";
		if(abs(a - b) % 2 == 0) cout << 1 << " ";
		else cout << 0 << " ";
		cout << endl;
	}
	return 0;
}
相关推荐
没有钱的钱仔1 分钟前
最大似然估计(MLE)通俗理解
算法·机器学习·概率论
yi0118 分钟前
LeetCode 424. 替换后的最长重复字符|不定长滑动窗口:如何判断窗口是否合法?
笔记·python·算法·leetcode·双指针·滑动窗口
jimy117 分钟前
C++ 类成员函数的内联定义(inline)详解
开发语言·c++
Nebula_g22 分钟前
JavaSE高级:动态代理
java·开发语言·算法·javase
垆边人似月.31 分钟前
华为题:盛最多水的容器
数据结构·算法
sanqima36 分钟前
CreateThread、_beginthreadex、AfxBeginThread三种线程创建的区别与联系
c++·tls·线程创建
怦然丶心动37 分钟前
用 Java 把干支历法算清楚:从节气切年到可读摘要
java·算法·vue·独立开发·spring boot / spring
青春逝如流水42 分钟前
Java 线程与操作系统、硬件的关系:状态、映射与差异
java·开发语言·多线程·ai文章
sanqima43 分钟前
依赖TLS和模块状态的MFC类
c++·mfc·tls·module state
谢亮_vipxieliang1 小时前
Go gRPC基础与实战
开发语言·后端·golang