牛客练习赛13_C-幸运数字Ⅲ(思维)
2018-03-21 20:29
239 查看
传送门
思路:简单的推理一下,对于正常的情况只要从左到右暴力判断就行。
对于47数字很多杂糅的话,我们只需要判断如果s[i-1]==4&&s[i+1]==7的话
思路:简单的推理一下,对于正常的情况只要从左到右暴力判断就行。
对于47数字很多杂糅的话,我们只需要判断如果s[i-1]==4&&s[i+1]==7的话
如果s[i]==4且i是偶数且k此时是奇数s[i]变成7;
如果s[i]==7且i是偶数且k此时是奇数s[i]变成4;
#include<bits/stdc++.h> #define debug(a) cout << #a << " " << a << endl #define LL long long #define ull unsigned long long #define PI acos(-1.0) #define eps 1e-6 const int N=1e5+7; using namespace std; char s ; int main () { //yyy_3y //freopen("1.in","r",stdin); LL m,k; scanf("%lld%lld",&m,&k); scanf("%s",s+1); int len=strlen(s+1); for(int i=2;i<=len && k;i++){ if(s[i-1]=='4' && s[i+1]=='7'){ if(s[i]=='4' && !(i&1)){ if(k&1) s[i]='7'; break; } else if(s[i]=='7' && !(i&1)) { if(k&1) s[i]='4'; break; } } if(s[i-1]-'0'==4 && s[i]-'0'==7){ if(i&1) s[i-1]='7'; else s[i]='4'; k--; } } printf("%s",s+1); return 0; }
相关文章推荐
- 牛客练习赛13 D 题 幸运数字IV 【康拓逆展开 + 思维】
- 牛客练习赛13-幸运数字I
- 牛客网 牛客练习赛13 - 幸运数字Ⅱ
- 【牛客练习赛13】D 幸运数字Ⅳ 【康拓展开】
- 牛客网 牛客练习赛13-幸运数字Ⅰ
- 牛客练习赛13 B 幸运数字Ⅱ【前缀和 + 位运算 + 二分】
- 牛客练习赛13 幸运数字Ⅱ(BFS,DFS,二分,思路)
- 牛客练习赛13-C题幸运数字III
- 牛客练习赛13-D-幸运数字Ⅳ(康托展开 & 逆康托展开)
- 牛客练习赛13 D-幸运数字IV(逆康托展开)
- 牛客练习赛13 A 幸运数字Ⅰ 【暴力】
- 牛客练习赛13_B-幸运数字Ⅱ(dfs枚举)
- 牛客练习赛13 D 幸运数字Ⅳ[康拓展开逆运算]
- 牛客练习赛13--幸运数字I II III
- 牛客练习赛13 B 幸运数字Ⅱ 【暴力】【二分】
- 牛客练习赛13-D:幸运数字Ⅳ(思维)
- 【牛客练习赛13】 A B C D【康拓展开】 E【DP or 记忆化搜索】 F 【思维】
- 牛客练习赛13 A B C F【二分+思维】
- 牛客练习赛13
- 牛客练习赛13 E 乌龟跑步 (dp)