演算法競賽入門經典習題2 6

2021-08-20 04:06:21 字數 782 閱讀 1998

/*

用1,2,3,…,9組成3個三位數abc,def和ghi,

每個數字恰好使用一次,

要 求abc:def:ghi=1:2:3。

按照「abc def ghi」的格式輸出所有解,

每行乙個解

思路:如果首先要保證每個數字都用一次,那麼這個題就會變得很麻煩,所以就先讓abc,def,ghi產生倍數關係然後對

這三個數字每一位上的數字進行標記,然後測試九個數字是否都被標記過,如果都被標記過則輸出

**如下:

*/#include

#include

#include

using namespace std;

int main()

;abc=i;

arr[abc/100]=arr[abc/10%10]=arr[abc%10]=true;//標記三個數字

def=2*abc;

arr[def/100]=arr[def/10%10]=arr[def%10]=true;//標記三個數字

ghi=3*abc;

arr[ghi/100]=arr[ghi/10%10]=arr[ghi%10]=true;//標記三個數字

int j;

for(j=1;j<10;j++)

}if(j==10)

cout<}cout

演算法競賽入門經典 (第二版)習題2 6

用 1,2,3 9組成三個數字abc,def,ghi每個數字恰好使用一次,要求 abc def ghi 1 2 3按照 abc def ghi 的格式輸出所有解 每行乙個解。思路 有a,b,c三個變數,先確定a的範圍,最小的數且符合題目規定的數字為123,最大的數字且符合題目規定的數字是987 所以...

演算法競賽入門經典 習題3 7

uva1368 dna consensus string 本來以為題目是要在已有序列中找乙個最小的序列,後來仔細讀了下題才發現是要構造乙個距離最小的序列。感覺這道題應該就是貪心演算法吧?每一位和已有序列的對應位差得越少,總體也就越少。include include include include u...

演算法競賽入門經典 習題4 6

uva508 morse mismatches 各種地方描述的這道題目不一樣。精確匹配時,有的地方說輸出最短的 長度相同再按照字典序排序 有的地方說輸出字典序最小的 模糊匹配時,必須是刪除最少字元後完全匹配,或者增加最少字元後精確匹配才可以輸出,輸出跟字典序好像沒關係 udebug上的測試用例就是先...