Luogu P2708 硬币翻转 题解
Luogu p2708题解
思路:
由于我们这个题目的长度不知道,所以我们不能一次性输入所有的硬币的状态,也许会爆数组(Ps:我没试过我不是知道)。所以我们为了保险采取用getchar()
一个一个读入硬币的状态的方法。然后我们可以发现假如当前输入的硬币的状态和之前所有硬币的状态不一样的时候我们要把当前硬币之前的所有硬币的状态修改掉。如果不修改那么之后不管怎样改变状态都不能让所有硬币的状态都一样了。我们要去把之前所有的硬币都修改得和当前的硬币一样。最后我们这样做硬币肯定都是一样的了。然后判断所有硬币是否都朝上,如果都不朝上那么就还要再翻动一次硬币。最后我们不可能去真的修改前缀要不然很可能会超时,并且这样做的话前面的所有硬币都是一样的。所以我们用一个bool
变量flag
来存储当前硬币之前的所有硬币是否朝上,如果是true
就是朝上否则朝下。
代码:
#include <cstdio>int get_ans()
{int ans = 0;char ch = getchar();bool flag = (ch == '1');while (ch >= '0' && ch <= '9'){if ((ch == '1') != flag) {++ans;flag = (ch == '1');}ch = getchar();}if (!flag) ++ans;return ans;
}int main(int argc, char const *argv[])
{ int ans = get_ans(); printf("%d\n", ans);return 0;
}
转载于:https://www.cnblogs.com/lixiao189/p/10134345.html
Luogu P2708 硬币翻转 题解相关推荐
- P2708 硬币翻转——题解2020.10.11
P2708 硬币翻转 思路分析 定义一个一维字符型数组 a[ ] 存放若干硬币的正反情况,'1' 表示正面,'2'表示反面: 进行一次操作允许将前 n 个硬币翻面,要使操作的次数最少,每次操作须只对正 ...
- 洛谷 P2708 硬币翻转 题解
题目传送门 真如题面所说,难度系数:☆☆☆☆☆(如果你看懂了). 从后往前扫一次,如果a[i]==0&&a[i-1]==1那么将ans+2. 注意最后不要忘记开头if(a[0]=='0 ...
- 洛谷 洛谷 P2708 硬币翻转(高端算法)
//DAY3.B //题源:洛谷 P2708 硬币翻转 //原题链接:https://www.luogu.com.cn/problem/P2708 #include<stdio.h> #i ...
- 洛谷 P2708 硬币翻转
P2708 硬币翻转 时间限制1.00s 内存限制125.00MB 题目描述 从前有很多个硬币摆在一行,有正面朝上的,也有背面朝上的.正面朝上的用1表示,背面朝上的用0表示.现在要求从这行的第一个硬币 ...
- 【洛谷】P2708 硬币翻转(配数学证明)
题目地址: https://www.luogu.com.cn/problem/P2708 题目描述: 有很多个硬币摆在一行,有正面朝上的,也有背面朝上的.正面朝上的用111表示,背面朝上的用000表示 ...
- 洛谷——P2708 硬币翻转
https://www.luogu.org/problem/show?pid=2708#sub 题目背景 难度系数:☆☆☆☆☆(如果你看懂了) 题目描述 从前有很多个硬币摆在一行,有正面朝上的,也有背 ...
- 洛谷——P1146 硬币翻转
P1146 硬币翻转 题目描述 在桌面上有一排硬币,共NN枚,每一枚硬币均为正面朝上.现在要把所有的硬币翻转成反面朝上,规则是每次可翻转任意N-1N−1枚硬币(正面向上的被翻转为反面向上,反之亦然). ...
- 洛谷1146 硬币翻转
题目描述 在桌面上有一排硬币,共NN枚,每一枚硬币均为正面朝上.现在要把所有的硬币翻转成反面朝上,规则是每次可翻转任意N-1N−1枚硬币(正面向上的被翻转为反面向上,反之亦然).求一个最短的操作序列( ...
- android 硬币翻转动画,使用Android标准动画显示正在翻转的硬币的两面
我非常接近制作"硬币翻转"动画,但是由于当前动画系统的局限性(错误?) – 我无法找到一种方法来显示硬币在空中翻转的两侧. 例如,我有以下动画.XML: android:share ...
最新文章
- TCP/UDP网络编程调试助手下载
- WKWebView中经常用到的操作
- 【风控场景】互利网上数字金融典型场景: 网购运费险
- SpringSecurity 案例之创建资源服务器准备工作
- 2017西安交大ACM小学期数据结构 [线段树]
- 纯脚本创建桌面快捷方式
- 【连载】如何掌握openGauss数据库核心技术?秘诀五:拿捏数据库安全(4)
- 微信公众号关闭iOS端虚拟支付业务;苹果「Apple 登录」存安全漏洞;谷歌推迟发布Android 11 Beta| 极客头条...
- 张莉python 玩转数据答案_中国大学MOOC(慕课)用Python玩转数据答案大全
- 微信公众号开发流程指南
- 网速/带宽与下载速度对照表
- CDSP认证是什么?数据安全认证专家含金量大吗?
- 计算机电源可以改装,闲置的台式机电脑电源别扔了,可以拿来改0-30V可调电源...
- iOS之地图的使用和实时描绘运动轨迹
- 开源至上:面试官轮轮虐你?深入剖析
- 用python画皮卡丘画法-用python画一只可爱的皮卡丘
- 国外名校课程视频爆红 网友总结“必杀技”(图)
- MyBatis(一)MyBatis概述
- 【UnityShader自学日志】星球大气效果
- 牛客网暑期ACM多校训练营(第四场)C(Chiaki Sequence Reloaded)