专栏文章
题解:P13888 [蓝桥杯 2023 省 Python A] 翻转
P13888题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mio24b26
- 此快照首次捕获于
- 2025/12/02 12:07 3 个月前
- 此快照最后确认于
- 2025/12/02 12:07 3 个月前
题意
有两个 串 和 ,当与其相邻的两个数字都与它不同,便可以将其反转,问最少翻转多少次可以让 。
题解
感觉真的不配黄题。
直接循环遍历,然后如果 ,就判断一下看看能不能改,如果不能改就打个标记,否则就每一次统计一下答案,然后再注意判断一下第一个字符和最后一个字符,大概就这些。
正确代码
CPP#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
string s,t;
cin>>t>>s;//要先输入t再输入s
bool flag = 0;
int ans = 0;
for(int i=0;i<s.size();i++)
{
if(i==0||i==s.size()-1)
{
if(s[i]!=t[i])
{
flag = 1;
puts("-1");
break;
}
}
else
{
if(s[i]!=t[i])
{
if(s[i+1]!=s[i]&&s[i-1]!=s[i])
{
ans++;
}
else
{
flag = 1;
puts("-1");
break;
}
}
}
}
if(!flag) printf("%d\n",ans);
}
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...