T1 小田的01变换

思路:分点讨论

  • 通常情况下,如果1和0的量不一样,1次就可以;
  • 1和0一样的话,就要2次;
  • 当所有字符都是1或0时,输出0;
  • 当n==2时,0 1,1 0不行要输出-1;

输入输出样例

输入 #1

3
011

输出 #1

1

样例 1 解释

第一次:选0~2,因为1更多,所以全变成1。

输入 #2

4
1100

输出 #2

2

样例 2 解释 第一次:选0~2,因为1更多,变为1110。

第二次:选0~3,因为1更多,变为1111。

考试时没有想到n==2,没往0去想,将0想成了-1。

T2小田滑雪

思路:定义两个数组分别存储T类行和D类型的错误分别排序; 然后判断T[1]和D[1]那个先发生; 假设,速度为v,现在在nd的位置,时间为nt。 如果t[i]在前面,x=nd+(t[i]-nt)×v if(x<d[j])t[i]更先发生 else if(x>=d[j]) d[j]先发生

输入输出样例

输入 #1

2
T 30
D 10

输出 #1

2970

10 秒,小田的速度是每秒 1 米,滑了 10 米后发生第一次失误。

在接下来 20 秒内,他又滑了 10 米,接着遭遇了第二次失误,速度变为 每秒 1/3 米,还剩下 980 米,所以共计花了10+20+2940=2970 秒完成比赛。