#codefestival2015finalc. [codefestival_2015_final_c]寿司タワー

[codefestival_2015_final_c]寿司タワー

寿司塔

一个寿司由一个米饭和一个菜组成。 现在想用N个寿司来做寿司塔。(包含N个米饭和N个菜)

装1个寿司的方法有以下3种。 原封不动:按米饭、菜的顺序。 翻过来:按照菜、米饭的顺序。 拆开装:分开米饭和菜,分别装。

例如,想把3个寿司从下面开始依次装成“菜、米饭、菜、菜、米饭、米饭”的寿司塔,可以按以下顺序。 1、把一个寿司拆开,装上菜。 2、直接装一个寿司。 3、把一个寿司翻过来装。 4、装上留下的白米饭。 因为拆开寿司很费工夫,所以想尽量减少拆开寿司的个数。

求完成目标寿司塔需要拆开的寿司个数的最小值。

输入格式: 两行。 第一行给出了寿司的个数N。 第二行给出了长度为2N的字符串s,表示寿司塔的堆叠顺序(从下往上)。s是由0和1构成的字符串,其中0代表米饭,1代表菜。

输出格式: 一行。 完成目标寿司塔需要拆开的寿司个数的最小值。在输出的末尾加上换行符。