硬币翻转
题目详见:硬币翻转
这道题是一道简单的模拟,我们只需要每一次从前往后找相同的硬币,直到找到不同的硬币n,然后将找到的前n-1个相同的硬币翻过来,每翻一次让计数器tot+1,直到所有硬币都是正面后输出tot即可。
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
int l,tot;
char c[];
int main()
{
cin>>c;
l=strlen(c);
for(int i=l;i>=;i--)
c[i]=c[i-];
while()
{
for(int i=;i<=l;i++)
{
if(c[i]=='')
break;
else
if(i==l)
{
cout<<tot;
return ;
}
}
char a=c[];
for(int i=;i<=l;i++)
{
if(a=='')
{
if(c[i]==a)
c[i]='';
else
break;
}
else
if(a=='')
{
if(c[i]==a)
c[i]='';
else
break;
}
}
tot++;
}
cout<<tot;
return ;
}