洛谷P1618 三連擊(公升級版)

2022-09-20 05:42:16 字數 716 閱讀 7495

這個題目可是有意思的很,大致意思如下

:給出一到九排成三個三位數,然後滿足a:b:c的比值,也就是說這三個三位數中都必須遍歷1到9才可以,並且是公升序排列,那怎麼做呢?

我先給出最開始的思路(失敗)

:給定二維陣列甚至三維陣列(拿輸出陽曆來看無非是乙個長度為4的陣列裡面每個陣列元素又包括三個小陣列)

當然,寫了半天我選擇放棄,根本寫不出來;

於是就有了乙個很有趣的解法:

從100到999開始遍歷(123~987也可),如果滿足這個數取餘a是0的話,就讓其餘兩個數等於i/a*b和i/a*c(i代表這個數)

然後在滿足其餘兩個數都在題目條件之內中,定義了九個陣列用來存放這三個百位數的各個數字,然後,精彩一幕來了,

為了確保這三個百位數都可以遍歷1到9,我們就採取這九個陣列的和與這九個陣列的乘積等於1~9的和與9!;

然後輸出滿足條件的i,j,k就可以了

附上**

#includeusing

namespace

std;

int a,b,c,flag=0

;

intj,k;

intmain()

if(sum==45&&xx==362880

) }}

}if(flag==0)printf("

no!!!");

return0;

}

洛谷 P1618 三連擊(公升級版)

題目描述 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數的比例是a b c,試求出所有滿足條件的三個三位數,若無解,輸出 no 輸入輸出格式 輸入格式 三個數,a b c。輸出格式 若干行,每行3個數字。按照每行第乙個數字公升序排列。輸入輸出樣例 輸入樣例 1 1 2 3 輸出樣...

洛谷P1618 三連擊(公升級版)

乙隻鶸的刷題記錄 題目描述 將 1,2,9 共 9 個數分成三組,分別組成三個三位數,且使這三個三位數的比例是 a b c,試求出所有滿足條件的三個三位數,若無解,輸出 no 輸入格式 三個數,a,b,c。輸出格式 若干行,每行 3個數字。按照每行第乙個數字公升序排列。輸入輸出樣例 輸入 1 1 2...

洛谷 P1618 三連擊(公升級版)

將 1,2,ldots,91,2,9 共 99 個數分成三組,分別組成三個三位數,且使這三個三位數的比例是 a b ca b c,試求出所有滿足條件的三個三位數,若無解,輸出no 感謝黃小u飲品完善題意 三個數,a,b,ca,b,c。若干行,每行 33 個數字。按照每行第乙個數字公升序排列。輸入 1...