商城网站规划,wordpress有什么缺点,魔都网站建设,解决方案网站设计题目描述#xff1a; 题目解读#xff1a;
给定一组数#xff0c;分别是 “时间 内容”#xff0c;内容分为00#xff0c;01#xff0c;10#xff0c;11四种#xff0c;求能够得到11的最小时间。 解题思路#xff1a;
看似00#xff0c;01#xff0c;10#xff0…题目描述 题目解读
给定一组数分别是 “时间 内容”内容分为00011011四种求能够得到11的最小时间。 解题思路
看似00011011像二进制数但是用不到相关概念。
其中00是没有价值的需要分别找到0110和11的最小时间然后比较0110和11哪个所需时间更小然后输出最小。
即先输入字符串s
如果s[0]1s[1]0,用min()函数判断是否是10的最小时间
s[0]0s[1]1,用min()函数判断是否是01的最小时间
s[0]1s[1]1,用min()函数判断是否是11的最小时间
最后用min()函数输出 01和10的最小时间和 与 11最小时间 的最小值。
如果用来记录0110的值没有都改变11的值也未改变则输出-1。 代码实现
#define _CRT_SECURE_NO_WARNINGS 1
#include stdio.h
#includeiostream
using namespace std;
void Solve() {int n,time,a 1e6, b 1e6, c 1e6;string s;scanf(%d, n);for (int i 0; i n; i) {cintimes;if (s[0] 1 s[1] 0) {a min(time, a);}if (s[1] 1 s[0] 0) {b min(time, b);}if (s[0] 1 s[1] 1) {c min(time, c);}}if (a ! 1e6 b ! 1e6 || c! 1e6) {printf(%d\n,min(ab,c));}else { puts( -1\n ); }return;
}int main() {int t;scanf(%d, t);while (t--) Solve();return 0;
} 遇到的错误