C. Menorah(思维+数字反转)
admin
2024-03-02 09:19:22
0

Problem - 1615C - Codeforces

光明节烛台上有n支蜡烛,其中一些蜡烛最初被点燃。我们可以用一个二进制字符串s来描述哪些蜡烛被点燃,其中第i根蜡烛被点燃,当且仅当si=1。


最初,蜡烛的光亮是由一个字符串a描述的。在一个操作中,你选择一个当前被点燃的蜡烛。通过这样做,你选择的蜡烛将保持点亮,而其他每根蜡烛都将发生变化(如果它是点亮的,它将变成不亮,如果它是不亮的,它将变成亮的)。

你的任务是确定这是否可行,如果可行,找出所需的最少操作数。

输入
第一行包含一个整数t(1≤t≤104)--测试案例的数量。接着是t个案例。

每个测试案例的第一行包含一个整数n(1≤n≤105)--蜡烛的数量。

第二行包含一个长度为n的字符串a,由符号0和1组成--灯光的初始模式。

第三行包含一个长度为n的字符串b,由符号0和1组成--期望的灯光模式。

保证n的总和不超过105。

输出
对于每个测试案例,输出将a转化为b所需的最少操作数,如果不可能,则输出-1。

例子
inputCopy
5
5
11010
11010
2
01
11
3
000
101
9
100010111
101101100
9
001011011
011010101
输出拷贝
0
1
-1
3
4
注意
在第一个测试案例中,两个字符串已经相等,所以我们不需要进行任何操作。

在第二个测试案例中,我们可以进行一次操作,选择第二个蜡烛,将01转化为11。

在第三个测试案例中,不可能进行任何操作,因为没有点燃的蜡烛可以选择。

在第四个测试案例中,我们可以执行以下操作,将a转化为b。

选择第7支蜡烛。100010111→011101100.
选择第2根蜡烛。011101100→110010011.
选择第1根蜡烛。110010011→101101100.
在第五个测试案例中,我们可以进行以下操作,将a转化为b。

选择第6根蜡烛。001011011→110101100
选择第2根蜡烛。110101100→011010011
选择第8根蜡烛。011010011→100101110
选择第7根蜡烛。100101110→011010101
题解:
根据题目所给操作我们观察到

如果同一个位置操作一次,当前位置不变,其他位置都会改变

如果操作两次,都不会发生任何变化

如果两个不同的位置操作一次,除这两个位置外的都不会变化

这两个位置的数会发生交换

所以题就变成了交换两个位置的数,是序列1变为2

假如此时位置不同

如果

ai = 1 ai = 0 ai = 0 ai = 1

bi = 0 bi = 1 bi = 1 bi = 0

可以发现如果a与b不同位置的0,1数目相同,0与1的数目必然相同

交换次数为偶数 = 不同位置的数目

如果不同位置为奇数

我们可以先做一次变换

本来为1的位置,除了我们变化的位置,其他均为0,本来为0的位置,全为1

如果此时情况符合刚才我们讨论的情况,就是可以

#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define int long long
string a,b;
int n,k;
void solve()
{int n;cin >> n >> a>>b;if(a == b){cout<<"0\n";return ;}int x1 = 0,x2 = 0,y1 = 0,y2 = 0;for(int i = 0;i < n;i++){if(a[i] != b[i]){if(a[i] == '1'){x1 ++;}else{x2++;}}else{if(a[i] == '1'){y1++;}else{y2++;}}}int res = 1e9;if(x1 == x2){res = min(res ,x1+x2);}if(y1){y1--;if(y1 == y2){res = min(res ,y1+y2+1);}}if(res == 1e9){cout<<"-1\n";}else{cout<> t;while(t--){solve();}
}//1 10 11//001
//010
//011
//100

相关内容

热门资讯

智驾“物理AI第一股”Mome... MOMENTA-W港交所敲钟现场 图右为曹旭东 图源:时代财经 头顶“物理AI第一股”光环,Mome...
存储,利好来了!美光暴涨,宣布... 【导读】利好来了 中国基金报记者 泰勒 大家好啊,存储芯片迎来利好,今晚美光科技的股价暴涨。 消息...
重庆选择黄金回收门店有哪些参考... 对于重庆有闲置贵金属变现需求的市民而言,挑选一家靠谱的服务门店是保障自身权益的核心前提,不同人群的变...
《置身红内》接管大厂员工小作文... 六月的互联网,属于小作文。 钉钉有《置身事内》,小米有《置身米内》,美团有《置身团内》。大厂员工们仿...
留置、候查、再立案,业绩变脸雪... 图片系AI生成 7月9日,佳缘科技(301117.SZ)开盘即封死20cm跌停板,报收16.91元。...
原创 小... 6月28日,一份实名投诉材料被送达港交所上市部和香港证监会。 投诉人是陈浩,原小红书商业化华南直销负...
全线大跳水!刚刚,美伊谈判突变... 重大变数! 就在刚刚,美国总统特朗普表示,美伊谅解备忘录“已终结”。随后,美股期货、欧洲股市主要股指...
同创普润冲击IPO 带领江丰电子(300666)登陆资本市场九年时间后,59岁资本大佬姚力军欲再造一个IPO。上交所官网...
电商法迎首次大修,填补直播、跨... 作为平台经济领域的重要基础性法律,电子商务法在实施七年多后迎来首次系统性修改。 日前,市场监管总局、...
年内三度卸任!知名基金经理在管... 从管理规模一度接近500亿元到退出百亿行列,基金经理郑澄然仅用了5年时间。今年以来,他持续“减负”,...
同行都在欧洲爆单,格力在干嘛? 46摄氏度,这是2026年夏天欧洲多地刷新的高温纪录。西班牙、法国、德国相继发布高温红色预警,医院急...
CTI华测检测与丰宾电子落地全... (全球TMT 2026年07月09日讯)6月26日,丰宾电子科技股份有限公司与华测检测认证集团股份有...
87家城商行上榜《2026年度... 7月8日,英国《银行家》杂志(The Banker)发布2026年度全球银行1000强榜单,该榜单以...
银行小程序“瘦身”潮起!流量红... 当遍地开花的银行小程序加速退场,一场以存量深耕、协同经营为核心的渠道重构正在银行业上演。7月9日,北...
微信小程序开发需要多久?从3天... 微信小程序开发需要多久?每个商家在启动项目前最关心的问题之一。时间就是成本,时间就是商机。在长沙云中...
商品老兵:现在是抄底黄金的最佳... 黄金价格较高点回调逾25%,但在大宗商品资深投资人看来,这场调整恰恰是难得的布局窗口。 近日,在Ri...
股价提前涨停!603986,上... 今日盘后,兆易创新(603986.SH)公告称,预计2026年半年度归属于上市公司股东的净利润为69...
担忧AI投资热潮!美联储,还是... 北京时间7月9日凌晨,美联储公布今年6月联邦公开市场委员会(FOMC)政策会议纪要。纪要显示,随着通...
1480亿,东莞草根女首富刚刚... “要么不做,要做就做第一。” 来源:元素elements 作者:李冰之 编辑:吾人 刚刚,鼎泰高科成...
原创 一... 路过小区街边,总能看见不少经营多年的烟酒商行贴着转让告示。 前阵子楼下开了十多年的老店清仓甩货,成箱...