蓝桥杯-- 翻硬币
原创
©著作权归作者所有:来自51CTO博客作者不想悲伤到天明的原创作品,请联系作者获取转载授权,否则将追究法律责任
题解: 模拟一下,但注意字符串如果是奇数 , 硬币个数 n 可能存在奇数的情况,为了保证题目有解,确切的说,假设翻转第 i (1 <= i < n) 个,那么第 i + 1 个也会跟着翻转,特殊的,当翻转第 n 个时,仅有这一个硬币会被翻转。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <set>
#include <cstring>
#include <stack>
#include <set>
#include <vector>
#include <queue>
#define Swap(a,b) a ^= b ^= a ^= b
#define pi acos(-1)
#define cl(a,b) memset(a,b,sizeof(a))
using namespace std ;
typedef long long LL;
//const int N = 1e7+10 ;
const int inf = 0x3f3f3f3f;
const int MAX = 50005;
char s[1005] ;
char a[1005] ;
int main()
{
cin >>s >>a ;
int len = strlen(s) ;
int ans = 0 ;
for(int i = 0 ; i<len ;i++ ){
if(s[i]!=a[i] && i !=len-1){
if(s[i+1]=='*'){
s[i+1] = 'o' ;
}
else{
s[i+1] = '*' ;
}
ans++ ;
}
if(s[i]!=a[i] && i == len -1){
ans++ ;
}
}
cout<<ans;
return 0 ;
}