回爐-撥鐘問題

題目:撥鐘問題

1166:撥鐘問題

描述

有9個時鐘,排成一個3*3的矩陣。

|-------|    |-------|    |-------|
|       |    |       |    |   |   |
|---O   |    |---O   |    |   O   |
|       |    |       |    |       |
|-------|    |-------|    |-------|A            B            C    |-------|    |-------|    |-------|
|       |    |       |    |       |
|   O   |    |   O   |    |   O   |
|   |   |    |   |   |    |   |   |
|-------|    |-------|    |-------|D            E            F    |-------|    |-------|    |-------|
|       |    |       |    |       |
|   O   |    |   O---|    |   O   |
|   |   |    |       |    |   |   |
|-------|    |-------|    |-------|G            H            I    

(圖 1)
現在需要用最少的移動,將9個時鐘的指針都撥到12點的位置。共允許有9種不同的移動。如下表所示,每個移動會將若干個時鐘的指針沿順時針方向撥動90度。

移動 影響的時鐘

 1         ABDE2         ABC3         BCEF4         ADG5         BDEFH6         CFI7         DEGH8         GHI9         EFHI   

輸入

9個整數,表示各時鐘指針的起始位置,相鄰兩個整數之間用單個空格隔開。其中,0=12點、1=3點、2=6點、3=9點。

輸出

輸出一個最短的移動序列,使得9個時鐘的指針都指向12點。按照移動的序號從小到大輸出結果。相鄰兩個整數之間用單個空格隔開。
樣例輸入

3 3 0 
2 2 2 
2 1 2 

樣例輸出

4 5 8 9 

思路:枚舉,也就是暴力,注意一個方法最多使用三次。

#include <string.h>
#include <stdio.h>
#define FOR(x) for(x=0;x<=3;x++)
int main()
{int i,a[10],b[10],c[10];for(i=1;i<=9;i++)scanf("%d",&a[i]);FOR(b[1])FOR(b[2])FOR(b[3])FOR(b[4])FOR(b[5])FOR(b[6])FOR(b[7])FOR(b[8])FOR(b[9]){c[1]=(a[1]+b[1]+b[2]+b[4])%4;c[2]=(a[2]+b[1]+b[2]+b[3]+b[5])%4;c[3]=(a[3]+b[2]+b[3]+b[6])%4;c[4]=(a[4]+b[1]+b[4]+b[5]+b[7])%4;c[5]=(a[5]+b[1]+b[3]+b[5]+b[7]+b[9])%4;c[6]=(a[6]+b[3]+b[5]+b[6]+b[9])%4;c[7]=(a[7]+b[4]+b[7]+b[8])%4;c[8]=(a[8]+b[5]+b[7]+b[8]+b[9])%4;c[9]=(a[9]+b[6]+b[8]+b[9])%4;if(c[1]+c[2]+c[3]+c[4]+c[5]+c[6]+c[7]+c[8]+c[9]==0){for(i=0;i<b[1];i++) printf("1 ");for(i=0;i<b[2];i++) printf("2 ");for(i=0;i<b[3];i++) printf("3 ");for(i=0;i<b[4];i++) printf("4 ");for(i=0;i<b[5];i++) printf("5 ");for(i=0;i<b[6];i++) printf("6 ");for(i=0;i<b[7];i++) printf("7 ");for(i=0;i<b[8];i++) printf("8 ");for(i=0;i<b[9];i++) printf("9 ");printf("\n");return(0);}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536119.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536119.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536119.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ubuntu擴展觸摸屏觸控錯位修復

Ubuntu擴展觸摸屏觸控錯位修復 當我們ubuntu外接一個觸摸顯示器的時候&#xff0c;會發現觸摸擴展屏幕&#xff0c;發現操控的是主屏幕&#xff0c;我寫了一個腳本去修復。 #! /bin/bash #------------------------------------------------------------------------------ #…

目標檢測與分割總結

目標檢測最常用的三個模型&#xff1a;Faster R-CNN、SSD和YOLO Faster R-CNN架構 在Faster RCNN中&#xff0c;候選框是經過RPN產生的&#xff0c;然后再把各個“候選框”映射到特征圖上&#xff0c;得到RoIs。 Faster R-CNN步驟&#xff1a; (1) 由輸入圖片產生的區域候選…

shell腳本單詞去重多個文件

shell腳本單詞去重多個文件 例如要求如下&#xff1a; 有多個txt文件&#xff0c;每個文件內有多行單詞 中間為英文的”,”&#xff0c;或者中文的”&#xff0c;”逗號作為分隔符。 world,世界 set&#xff0c;設置 good,好&#xff0c;商品 .... 將這些文件匯總去除重復…

win10連接煙臺大學校園網

第一步 右鍵網絡圖標&#xff0c;打開網絡管理中心 第二步&#xff1a; 設置添加新的網絡&#xff0c;方法步驟如下&#xff1a; 第三步&#xff1a;新建VPN連接&#xff0c;注意協議為L2TP 第四步&#xff1a; 第五步&#xff1a; 第六步&#xff1a; 創建結束后進入更…

Angular國際化方案

Angular國際化方案 首先和大家推薦一個xlf文件的操作工具,支持合并和編輯功能,github,到release界面下載。 對于Angular國際化,官方提供了i18n方案,也就是標簽的方式,通過angular CLI來識別。國際化方案必須在編譯前定義下來,所以不能動態翻譯。也就是當有人切換語言時,…

模擬退火算法(TSP問題)

模擬退火算法解決TSP問題 算法思想 模擬退火算法&#xff08;Simulate Anneal&#xff0c;SA&#xff09;是一種通用概率演算法&#xff0c;用來在一個大的搜尋空間內找尋命題的最優解 模擬退火算法來源于固體退火原理&#xff0c;將固體加溫至充分高&#xff0c;再讓其徐徐…

2-docker 安裝

2-docker 安裝 Ubuntu 安裝 由于 apt 源使用 HTTPS 以確保軟件下載過程中不被篡改。因此&#xff0c;我們首先需要添加使用 HTTPS 傳輸的軟件包以及 CA 證書。 $ sudo apt-get update$ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \sof…

U-Net++粗略解釋

Paper&#xff1a;UNet: A Nested U-Net Architecture for Medical Image Segmentation u-net網絡的基本拓撲結構 目前最先進的圖像分割模型是各種個同樣的 encoder-decoder架構&#xff0c;他們具有一個關鍵的相似性&#xff1a;skip connections&#xff0c;它可以將編碼器…

Spring中的組合模式

組合模式是一種對象設計模式&#xff0c;它允許你將對象組合成樹形結構以表示“部分-整體”的層次結構&#xff0c;使得客戶端以統一的方式處理單個對象和對象的組合。在Spring框架中&#xff0c;組合模式被廣泛應用&#xff0c;讓我們深入分析一下。 在Spring中&#xff0c;組…

Docker+Nginx部署Angular

DockerNginx部署Angular 在部署Angular生產環境之前&#xff0c;需要電腦已經安裝docker。 添加Dockerfile 在已經完成的Angular項目的項目根目錄下添加Dockerfile文件。 Dockerfile文件內容&#xff1a; FROM nginx:1.11-1.11-alpine COPY index.html /usr/share/nginx/ht…

U-net網絡詳解

U-net網絡 簡單說一下網絡圖中各項所代表的內容&#xff1a; 藍/白色框表示feature map(特征圖) 藍色箭頭表示3x3卷積&#xff0c;主要用于特征提取 灰色箭頭表示skip-connection&#xff08;跳躍連接&#xff0c;通常用于殘差網絡中&#xff09;,在這里是用于用于特征融合&…

Angular Web App部署Ubuntu Nginx

Angular Web App部署Ubuntu Nginx 當我們想發布Angular Web App的時候,我們想在開發的時候部署測試,那么這篇文章使用Nginx來部署我們的Angular 系統環境 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Rele…

遺傳算法-01背包

遺傳算法 算法思想 遺傳算法&#xff08;Genetic Algorithm, GA&#xff09;是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型&#xff0c;是一種通過模擬自然進化過程搜索最優解的方法。 其主要特點是直接對結構對象進行操作&#xff0c;不存在求導和函…

Angular Web App部署Linux Nginx Https

Angular Web App部署Linux Nginx Https 提示:這篇文章是基于內網的 互聯網就開始將 WEB 服務從 HTTP 遷移到 HTTPS,而現在為了更快的推進 HTTPS 的普及,Chrome 將從 2018 年 7 月起標記所有的 HTTP 網站為不安全鏈接。 HTTPS 會逐漸成為 WEB 服務的標配,最最重要的是,它能…

SOLO算法簡讀

論文鏈接&#xff1a;https://arxiv.org/abs/1912.04488 代碼鏈接&#xff1a;https://github.com/WXinlong/SOLO 摘要 提出一種新的實例分割方法。與語義分割等其他密集預測任務相比&#xff0c;實例分割的難度要大得多。為了預測每個實例的掩碼&#xff0c;主流方法要么遵…

Rxjs的flatMap使用

Rxjs的flatMap使用 flatMap是Rxjs比較繞的一個概念&#xff0c;這里我們只是講解如何使用。在Rxjs 4.0版本時叫flatMap,在Rxjs 5.0時被更名為margeMap,現在flatMap作為margeMap的別名使用&#xff0c;這是考慮向下兼容。 官方flatMap的定義&#xff1a; Projects each sourc…

關于Loss的簡單總結

Dice Loss 參考&#xff1a;https://blog.csdn.net/l7H9JA4/article/details/108162188 Dice系數&#xff1a; 是一種集合相似度度量函數&#xff0c;通常用于計算兩個樣本的相似度&#xff0c;取值范圍為[0,1]。 s2∣X∩Y∣∣X∣∣Y∣s \frac{2|X ∩ Y|}{|X||Y|} s∣X∣∣Y…

Angular_PWA使用+Demo

Angular_PWA使用+Demo 什么是PWA PWA(Progressive Web App)利用TLS,webapp manifests和service workers使應用程序能夠安裝并離線使用。 換句話說,PWA就像手機上的原生應用程序,但它是使用諸如HTML5,JavaScript和CSS3之類的網絡技術構建的。 如果構建正確,PWA與原生應…

SOLOv2論文簡讀

論文&#xff1a;SOLOv2: Dynamic, Faster and Stronger 代碼&#xff1a;https://github.com/WXinlong/SOLO 摘要 主要提出了作者在SOLOv2中實現的優秀的實例分割方法&#xff0c;旨在創建一個簡單、直接、快速的實例分割框架&#xff1a; 通過提出動態學習對象分割器的mas…

Angular6_PWA

Angular6_PWA Angular正式發布了V6.0,我們已經可以利用對應的@angular/cli V6.0來直接開發PWA應用了。 第一步:安裝@angular/cli V6.0 如果你機器上有老版本,請先卸載。 打開你的終端,執行: npm install -g @angular/cli 或 cnpm install -g @angular/cli 安裝成功…