C. Qingshan Loves Strings 2
题解
1.当10个数不一致时,无论怎样都不成立
2.当01个数一致时,是否一定存在某种方法使得成立呢?
3.对于长度为
总的来说,我们把插入若干个01串使得对称的过程,看成插入若干个01串,使得两端对称的部分消除
code
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
string s;
cin>>s;
deque<int> q,id;
int cnt=0;
for(int i=0;s[i];i++)
{
q.push_back(s[i]-'0');
cnt+=q.back();
id.push_back(i);
}
id.push_back(n);
if(cnt*2!=n)
{
puts("-1");
continue;
}
queue<int> ans;
int l=0,r=n;//代表当前插入的位置
while(q.size()>1)
{
if(q.front()==q.back())
{
if(q.back()==0)
{
q.pop_front();
l++;
ans.push(r);
q.push_back(0);
r++;
}
else
{
q.pop_back();
r++;
ans.push(l);
q.push_front(1);
l++;
}
}
else
{
q.pop_back();
q.pop_front();
l++;
r--;
}
}
cout<<ans.size()<<endl;
while(ans.size())
{
cout<<ans.front()<<" ";
ans.pop();
}
puts("");
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~