B. Binary Period(思维&字符串)

题目传送门

思路:显然最小周期不会超过2.pos1:全为1或全为0,只用输出本身即可,pos2:其他情况,显然由于s可以为两倍t长度,只用构造01即可,因为对于当前位的字符只能选择0或1,所以长度为2|t|的010101……串刚好满足条件。

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
#define mst(a) memset(a,0,sizeof a)
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		string a;
		cin>>a;
		int f1=0,f2=0;
		for(int i=0;i<a.size();i++)
			if(a[i]=='0') f1=1;
			else f2=1;
		if(f1&&f2){
		 for(int i=0;i<2*a.size();i++)
					printf("%c",'0'+(i%2));
					puts("");
				}
		else cout<<a<<endl;
	}
	return 0;
}