麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

撥鐘問題(蠻力法)

2019-11-11 04:49:05
字體:
來源:轉載
供稿:網友

描述 有9個時鐘,排成一個3*3的矩陣。現在需要用最少的移動,將9個時鐘的指針都撥到12點的位置。 撥鐘問題圖片示例 共允許有9種不同的移動。如下表所示,每個移動會將若干個時鐘的指針沿順時針方向撥動90度。

輸入 從標準輸入設備讀入9個整數,表示各時鐘指針的起始位置。0=12點、1=3點、2=6點、3=9點。

輸出 輸出一個最短的移動序列,使得9個時鐘的指針都指向12點。按照移動的序號大小,輸出結果。

樣例輸入 3 3 0 2 2 2 2 1 2

樣例輸出 4 5 8 9

來源 1166

分析 1、題目中的樣例輸入雖然是3X3的二維數組,但是此題中各元素相互關聯不大,為簡化代碼的復雜度,可以直接使用長度為9的一維數組存儲輸入的時鐘狀態; 2、要使全部時鐘狀態都撥到12點位置,則數組中各元素最后的值全部都是4的倍數或者0; 3、對每一個時鐘而言,把其最初的狀態數字和移動的次數相加,結果能夠整除4,就說明移動到12點了; 4、我們采用蠻力法,對每一個時鐘,把每一個可以撥動它的方案從0次開始嘗試,由于走4次就回到原位置了,所以每個時鐘最多撥動3次,當9個時鐘全部吻合條件時,將9種方案的次數保存下來,并輸出對應的數字。

代碼(C語言)

#include <stdio.h>int main(){ int time[9] = {0}; // 定義數組保存時鐘初始狀態 int i,i1,i2,i3,i4,i5,i6,i7,i8,i9; for(i=0;i<9;i++){ scanf("%d",&time[i]); } int min = 40; //每組最多走4次,9組最多有36次,不妨假設最多走40次,并設置為最小次數 int result[9] = {0}; for(i1=0;i1<4;i1++){ for(i2=0;i2<4;i2++){ for(i3=0;i3<4;i3++){ for(i4=0;i4<4;i4++){ for(i5=0;i5<4;i5++){ for(i6=0;i6<4;i6++){ for(i7=0;i7<4;i7++){ for(i8=0;i8<4;i8++){ for(i9=0;i9<4;i9++){ if((i1+i2+i4+time[0])%4==0 && (i1+i2+i3+i5+time[1])%4==0 && (i2+i3+i6+time[2])%4==0 && (i1+i4+i5+i7+time[3])%4==0 && (i1+i3+i5+i7+i9+time[4])%4==0 && (i3+i5+i6+i9+time[5])%4==0 && (i4+i7+i8+time[6])%4==0 && (i5+i7+i8+i9+time[7])%4==0 && (i6+i8+i9+time[8])%4==0){ int sum = i1+i2+i3+i4+i5+i6+i7+i8+i9; if(sum < min){ //將次數少的組合方案保存到result數組中 min = sum; result[0] = i1; result[1] = i2; result[2] = i3; result[3] = i4; result[4] = i5; result[5] = i6; result[6] = i7; result[7] = i8; result[8] = i9; } } } } } } } } } } } int j; for(j=0;j<9;j++){ //從0開始循環,可以將結果從小到大輸出,就不需要進行額外的排序了 while(result[j] != 0){ //當result[j]為0時,就跳過循環,不輸出任何內容
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人区精品一区二区婷婷 | 日韩色视频在线观看 | 色七七亚洲 | 国人精品视频在线观看 | 欧美aⅴ视频 | 天天舔夜夜操 | 日本成人一区二区 | 欧美一级高潮 | 最近免费观看高清韩国日本大全 | 久久久电影电视剧免费看 | 九一免费版在线观看 | 亚洲婷婷日日综合婷婷噜噜噜 | 欧美精品亚洲人成在线观看 | 极品销魂一区二区三区 | 99国产精成人午夜视频一区二区 | 久草视频在线资源 | 久久无 | 久久噜噜噜 | 成人三级电影网 | 国产一有一级毛片视频 | 欧美国产精品久久 | www.777含羞草 | 久久亚洲精品久久国产一区二区 | jizzjizzjizzjizz国产 | 播色网| 久草资源在线观看 | 精品一区二区三区免费毛片 | 国产一级淫片免费看 | 久久久久久久一区二区三区 | 在线成人免费网站 | 免费在线观看成人av | 国产精品一区二区x88av | 国产一级做a爱片在线看免 2019天天干夜夜操 | 国产一区二区三区在线免费 | 2021狠狠操 | 国产九色在线观看 | 中国av中文字幕 | 91久久91久久精品免观看 | 91网站在线播放 | 一夜新娘第三季免费观看 | 一级电影在线观看 |