Codeforces Round #651 (Div. 2) E. Binary Subsequence Rotation(思维)

题目链接:https://codeforces.com/contest/1370/problem/E

solution:若s串中0和1的数量与t串中不同则直接输出-1,否则有解。有解的情况下只需要考虑不同的部分,不同的部分中s串为1则t串为0,经过模拟后会发现像111000,000111这种情况可以拆分成三个10或01串进行平移,而其它单独拆分出来的01串或10串可以与最长的111000串和000111串合并起来进行平移,101串的情况是不需要考虑的因为它经过平移不可能与t串相同。具体的实现看代码吧。

代码:

#include
using namespace std;
typedef long long ll;
 
int main()
{
	int n;
	string s,t;
	cin>>n>>s>>t;int z=0,o=0;
	for(int i=0;i

 

你可能感兴趣的:(codeforces)