首页 > 其他分享 >CF1900 B Laura and Operations 题解

CF1900 B Laura and Operations 题解

时间:2023-11-27 13:11:06浏览次数:31  
标签:Operations ch return read 题解 ret Laura int check

Link

CF1900 B Laura and Operations

Question

给出 \(1,2,3\) 的个数 \(a,b,c\)

可以分别减少两个不同的数,增加一个与两个数都不同的数

问,是否能经过一些操作使得 就剩下 \(1\) 或 \(2\) 或 \(3\)

Solution

先考虑 \(1,2,3\) 其实是等价的,所以我们只需要考虑把 \(2,3\) 全都变成 \(1\) 的情况就可以了

如果 \(2,3\) 的个数相同,直接全部变成 \(1\) 就好了

如果 \(2,3\) 的个数不相同,需要把多的那个和 \(1\) 变成少的那个,不妨假设 \(2\) 是少的那个,那么经过一次操作,\(a-1,b+1,c-1\) ,发现 \(b,c\) 的奇偶的对应性(同奇同偶或一奇一偶)不变,如果 \(1\) 的个数不够,就把 \(2,3\) 变成 \(1\)

所以得出结论,如果 \(2,3\) 为同奇或同偶,则可行

Code

#include<bits/stdc++.h>
using namespace std;
inline int read(){
    int ret=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-f;ch=getchar();}
    while(ch<='9'&&ch>='0')ret=ret*10+ch-'0',ch=getchar();
    return ret*f;
}

int check(int x,int y,int z){
    if((y^z)&1) return 0;
    return 1;  
}
void solve(){
    int a=read(),b=read(),c=read();
    int ans1=check(a,b,c),ans2=check(b,a,c),ans3=check(c,a,b);
    printf("%d %d %d\n",ans1,ans2,ans3);
    return ;
}
int main(){
    // freopen("B.in","r",stdin);
    int T=read();
    while(T--) solve();
}

标签:Operations,ch,return,read,题解,ret,Laura,int,check
From: https://www.cnblogs.com/martian148/p/17859014.html

相关文章

  • CF1900 A Cover in Water 题解
    LinkCF1900ACoverinWaterQuestion给出一个\(n\)个格子,有些格子被堵塞了,有些格子是空的,我需要在进行一些操作,使得所有空的格子里面都有水操作1:给任意一个格子装上水操作2:把一格水从一个地方搬运到另外一个空的格子里如果一个空的格子的相邻的两个格子都有水,那么这......
  • Live Server插件打开浏览器时:该网页无法正常运作,127.0.0.1未发送任何数据的问题解决
    一、问题复现今天使用VsCode写HTML代码时,使用LiveServer打开预览时,发现浏览器显示“该网页无法正常运作,127.0.0.1未发送任何数据”的问题。二、解决办法1.在左侧工具栏找到扩展商店,找到LiveServer,然后点击对应的小齿轮,进入插件设置。2.选择ExtensionSettings3.进入......
  • ABC330 A-E 题解
    ABC330题解AtCoderBeginnerContest330A-CountingPasses思路:枚举一遍,当前数大于\(L\)使\(ans+1\)即可.代码:#include<iostream>#defineintlonglongusingnamespacestd; intn,l,ans;intx; signedmain(){ cin>>n>>l; for(inti=1;i&......
  • Information Graph 题解
    题目链接InformationGraph分析在线并不好做,考虑离线,先将树建出来\(2\)操作时\(x\)节点与当前根节点之间的点都会获得文件当前根节点可以用并查集维护对于查询的节点判断它是否为链上的点即可具体的,若该节点为\(rt\)子树中的点且该节点的子树包含\(x\)节点,它就......
  • P8706 [蓝桥杯 2020 省 AB1] 解码 ( 入门 ) 题解
    题目传送门思路:有一个原串\(t\)。将原串\(t\)转换成简写字符串\(s\)的规则如下:如果有连续的\(2\sim9\)个相同字母,那么可以将它改为字母+数字的格式。如果是单独的字符,也就是与左右两边的字母都不相同,在简写字符串中一模一样。所以,现在告诉我们简写字符串,要我们求出......
  • ICPC2022Xian G Perfect Word 题解
    LinkICPC2022XianGPerfectWordQuestion给出\(n\)个串,我们称\(t\)串是"good"当且仅当\(t\)的所有子串都在\(n\)个串中出现过问最长的"good"的串的长度Solution由于所有串的子串个数为\(L\times(L+1)/2\),\(L\)为串的长度所以”good“串的长度不会大......
  • ICPC2022Xian E Find Maximum 题解
    LinkICPC2022XianEFindMaximumQuestion定义\(f(x)\)求Solution通过打表我们可以发现\(f(x)\)表示三进制表达中有效位数与数码和之和接下来考虑如何获得最大的\(f(x)\)贪心的去考虑,假设答案为\(Ans\),\((Ans)_3\)肯定是前几位和\((R)_3\)的前几位一样,然后某一......
  • Linux_sqlcmd或者是Cloudquery连接SQLSERVER2012的问题解决
    Linux_sqlcmd或者是Cloudquery连接SQLSERVER2012的问题解决背景最近想使用shell脚本给SQLServer数据库插入数据,但是发现了报错同时进行CLoudquery连接SQLServer数据库时也出现了异常.作为笔记记录一下问题和解决方法sqlcmd的问题现象sqlcmd的提示信息第一:安装sudo......
  • warning: Signature not supported. Hash algorithm SHA1 not available 问题解决
    在使用RockyLinux安装服务的时候碰到此问题,记录下解决方法update-crypto-policies--setLEGACY参考资料https://www.redhat.com/en/blog/rhel-security-sha-1-package-signatures-distrusted-rhel-9......
  • 【luogu题解】T378828 位运算
    位运算题目背景题目由daiyulong20120222创作(me)并由QBW1117完善以及数据。题目描述给定两个数\(x,y\),在给定一个位运算符号\(c\)。请你列出\(x,y\)进行\(c\)位运算是的算数竖式式。注:竖式这么列:显示出两个数的完整二进制,包括前导零。32个'-'。显示出......