[CCC2021 J3] Secret Instructions
题目描述
多组数据。
对于每组数据读入 5 5 5 个数字字符。
- 如果前两个之和为奇数,输出
left
; - 如果前两个之和为非零偶数,输出
right
; - 如果前两个之和为零,输出
left
或right
取决于上组数据。
然后输出一个空格与后三个数字字符。
输入格式
多组数据。
每行 5 5 5 个数字字符。
读入直到 99999
。
输出格式
每行一个字符串与 3 3 3 个数字字符,空格隔开。
样例 #1
样例输入 #1
57234
00907
34100
99999
样例输出 #1
right 234
right 907
left 100
提示说明
读入的第三个字符不会为 0 0 0。
第一组数据不会以 00 00 00 开头。
译自 CCC2021 J3。
代码内容
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
string s,k;
cin>>s;//k用来记录上次的答案
while(s!="99999")
{
ll sum=s[0]-48+s[1]-48;
if(!sum) cout<<k<<" ";
//判断是否为偶数,sum&1相当于sum&2
else if(!(sum&1))
{
cout<<"right"<<" ";
k="right";
}
else
{
cout<<"left"<<" ";
k="left";
}
cout<<s[2]<<s[3]<<s[4]<<endl;
cin>>s;
}
return 0;
}