首页 > 其他分享 >2022.10.28每日一题

2022.10.28每日一题

时间:2022-10-28 18:44:43浏览次数:77  
标签:01 NO int 每日 28 cs YES 2022.10 ct

Daimayuan Online Judge-异或和或

题目描述

对于一个长度为 \(n\) 的 \(01\) 序列 \(a_1,a_2,…,a_n\)。
你可以执行以下操作任意多次:

  • 选择两个下标 \(1≤i,j≤n(i≠j)\)。
  • 记 \(x=a_i\ xor\ a_j , y=a_i\ or\ a_j\),其中 \(xor\) 表示按位异或,\(or\) 表示按位或。
  • 然后令 \(a_i=x,a_j=y\) 或 \(a_i=y,a_j=x\)。

给定两个 \(01\) 序列 \(s,t\),请你判断是否可以通过有限次(可以为 \(0\) 次)操作将序列 \(s\) 变为 \(t\)。

输入格式

第一行一个整数 \(t\) , 表示数据的组数(\(1≤t≤10^3\))。接下来 \(t\) 组数据:
每组第一行一个 \(01\) 字符串 \(s(1≤|s|≤10^3)\),每组第二行一个 \(01\) 字符串 \(t(1≤|t|≤10^3)\)。
注意:\(|s|\) 可能不等于 \(|t|\)。

输出格式

如果可以通过有限次(可以为 \(0\) 次)操作将序列 \(s\) 变为 \(t\),输出 YES,否则输出 NO

样例输入
2
001
011
11
101
样例输出
YES
NO
解题思路

我们来看一下所有操作的情况,一共四种:\(00\rightarrow00\),\(01\rightarrow11\),\(10\rightarrow11\),\(11\rightarrow01\),那么我们可以发现只要两个数中含有一个 \(1\),我们就可以把它们变成全为 \(1\)。那么我们只需要考虑两个序列是否同时含有 \(1\) 或者同时不含有 \(1\) 即可,如果满足则输出 YES,否则 NO

C++代码
#include <bits/stdc++.h>
using namespace std;

int T;

int main()
{
    cin >> T;
    while(T --)
    {
        string s, t;
        cin >> s >> t;
        if(s.size() != t.size()) puts("NO");
        else
        {
            int len = s.size();
            int cs = 0, ct = 0;
            for(int i = 0; i < len; i ++)
            {
                if(s[i] - '0') cs ++;
                if(t[i] - '0') ct ++;
            }
            if(cs && ct || cs == ct) puts("YES");
            else puts("NO");
        }
    }
    return 0;
}

标签:01,NO,int,每日,28,cs,YES,2022.10,ct
From: https://www.cnblogs.com/Cocoicobird/p/16837088.html

相关文章

  • git 2022-10-28
    很长时间没有使用git了故重新写一遍关于git操作相关的随笔 1:我用vs做了一个基于qt的空窗口,并成功运行->现在我要把它上传到仓库(gitinit->gitadd.......
  • KubeSphere 社区双周报 | 2022-10-28
    KubeSphere从诞生的第一天起便秉持着开源、开放的理念,并且以社区的方式成长,如今KubeSphere已经成为全球最受欢迎的开源容器平台之一。这些都离不开社区小伙伴的共同努力......
  • 安装JAVA-2022-10-28
    安装JDK百度搜索JDK8,找到下载路径同意协议下载电脑对应版本双击安装记住安装路径配置环境变量我的电脑-右键-属性-环境变量-名字:JAVA_HOME属性......
  • 2022.10.28感悟
    有些东西,维护的不是正义,而是秩序服务性质的工作,最大的忌讳就是投入感情。因为这里需要的是理性,而不是同情。......
  • 强鸡计划(2022/10/28)
    2022/10/28一.fetchSql:作用:输出sql语句。优点:便于调试.二.getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值。但是事实......
  • 10月28日Mybatis结果与数据库结果不一致
    Mybatis结果与数据库结果不一致1数据库有结果,而mybatis无结果2数据库1条结果,而mtbatis三条结果报错情况:点击查看代码CreatinganewSqlSessionSqlSession[org.apa......
  • 每日一题之请描述Vue组件渲染流程
    组件化是Vue,React等这些框架的一个核心思想,通过把页面拆成一个个高内聚、低耦合的组件,可以极大程度提高我们的代码复用度,同时也使得项目更加易于维护。所以,本文就来分......
  • 每日一题之Vue的异步更新实现原理是怎样的?
    最近面试总是会被问到这么一个问题:在使用vue的时候,将for循环中声明的变量i从1增加到100,然后将i展示到页面上,页面上的i是从1跳到100,还是会怎样?答案当然是只会显示100,并不会......
  • 20221027&20221028 神经网络入门:神经网络判断奇偶数
    神经网络https://www.ibm.com/cn-zh/cloud/learn/neural-networks神经网络反映人类大脑的行为,允许计算机程序识别模式,以及解决人工智能、机器学习和深度学习领域的常见......
  • T287328 求和(正经题目)(有数据) 题解
    题目30分暴力:#include<bits/stdc++.h>#definefor1(i,a,b)for(inti=a;i<=b;i++)#definelllonglongusingnamespacestd;llgcd(lla,llb){ if(b==0)retu......