【正文】
on to off, or from off to on), in order to make the lights on and off alternatively. ? 有 N盞燈,排成一排。 ? Input One line for each testcase. The integer N (1 = N = 10000) es first and is followed by N integers representing the states of the lights (1 for on and 0 for off). Process to the endoffile. ? 輸入文件中包含多個(gè)測試數(shù)據(jù),每個(gè)測試數(shù)據(jù)占一行。測試數(shù)據(jù)一直到文件尾。 ? Sample Input 9 1 0 0 1 1 1 0 1 0 ? 3 1 0 1 ? Sample Output 3 0 解題方案 1: ? 第一種枚舉思路。可以枚舉這2^N種狀態(tài),每種狀態(tài)都判斷一下是否是開和關(guān)交替出現(xiàn),如果是,則還要統(tǒng)計(jì)從初始狀態(tài)轉(zhuǎn)換到該狀態(tài)需要切換的燈的數(shù)目。 ? 我們的 OJ時(shí)間限制為 1s,即我們最多只能是 10^7次操作。要使得 N盞燈開和關(guān)交替出現(xiàn),實(shí)際上只有兩種可能:奇數(shù)位置上的燈是開著的,或者偶數(shù)位置上的燈是開著的。例如樣例輸入中的第 1個(gè)測試數(shù)據(jù)對應(yīng)的初始狀態(tài)如圖所示,將這 9盞燈切換到奇數(shù)位置上的燈是開著的,需要切換 6盞燈;切換到偶數(shù)位置上的燈是開著的,需要切換 3盞燈;因此至少需要切換 3盞燈。 ? for(i = 1。 i++) //計(jì)算第 1位為 1,需要調(diào)整的數(shù)目 ? { ? if(i%2 == 1 amp。 a[i] == 0) //奇數(shù)位為 0,需要調(diào)整 ? res1++。amp。 ? } ? for(i = 1。 i++) //計(jì)算第 1位為 0,需要調(diào)整的數(shù)目 ? { ? if(i%2 == 1 amp。 a[i] == 1) //奇數(shù)位為 1,需要調(diào)整 ? res2++。amp。 ? } ? res = min(res1, res2)。(原因大家自己