做网站的工作,北京seo优化wyhseo,广州定制网站建设,wordpress密码注册D. Binary Literature
题意#xff1a;
给三个长度为2 * n的01串#xff0c;让你构造一个长度小于3 * n的字符串#xff0c;使得这个串至少包含两个01串
题解#xff1a;
很巧妙的构造题 三个指针分别指向三个串#xff0c;因为是01串#xff0c;所以一定存在两个字符…D. Binary Literature
题意
给三个长度为2 * n的01串让你构造一个长度小于3 * n的字符串使得这个串至少包含两个01串
题解
很巧妙的构造题 三个指针分别指向三个串因为是01串所以一定存在两个字符串指针所指位置相等相等部分加入S串中S串为最后的答案直到一个串完全结束 然后剩下分析如图
代码
#include bits/stdc.h
#define ll long long
#define fi first
#define se second
#define pb push_back
#define me memset
const int N 1e6 10;
const int mod 1e9 7;
const int INF 0x3f3f3f3f;
using namespace std;
typedef pairint,int PII;
typedef pairll,ll PLL;
int main()
{int t;cint;while(t--){int n;cinn;string s1,s2,s3;cins1s2s3;int len1s1.length();int len2s2.length();int len3s3.length();int p10,p20,p30;string ans;while(p1n*2p2n*2p3n*2){if(s1[p1]s2[p2]){anss1[p1];p1;p2;}else if(s1[p1]s3[p3]){anss1[p1];p1;p3;}else{anss2[p2];p2;p3;}}// coutansendl;if(p12*n){if(p2p3) anss2.substr(p2,2*n);else anss3.substr(p3,2*n);}else if(p22*n){if(p1p3) anss1.substr(p1,2*n);else anss3.substr(p3,2*n);}else{if(p1p2) anss1.substr(p1,2*n);else anss2.substr(p2,2*n);}coutansendl;}return 0;
}