洛谷 P1618 三連擊(升級版)
阿新 • • 發佈:2017-07-22
span main 比例 pre color clu 輸出 std mut
題目描述
將1,2,…,9共9個數分成三組,分別組成三個三位數,且使這三個三位數的比例是A:B:C,試求出所有滿足條件的三個三位數,若無解,輸出“No!!!”。
//感謝黃小U飲品完善題意
輸入輸出格式
輸入格式:
三個數,A B C。
輸出格式:
若幹行,每行3個數字。按照每行第一個數字升序排列。
輸入輸出樣例
輸入樣例#1:1 2 3輸出樣例#1:
192 384 576 219 438 657 273 546 819 327 654 981
說明
保證A<B<C
全排列式 枚舉
屠龍寶刀點擊就送
#include <algorithm> #include <cstdio> using namespace std; int main() { int sum=0,a[11]={0,1,2,3,4,5,6,7,8,9}; int A,B,C; scanf("%d%d%d",&A,&B,&C); do { int sum1=0,sum2=0,sum3=0; for(int i=1;i<=9;i++) {if(i<=3) sum1=sum1*10+a[i]; if(i>3&&i<=6) sum2=sum2*10+a[i]; if(i>6&&i<=9) sum3=sum3*10+a[i]; } if(sum1*B==sum2*A&&sum1*C==sum3*A) sum++, printf("%d %d %d\n",sum1,sum2,sum3); }while(next_permutation(a+1,a+11-1)); if(!sum) printf("No!!!\n"); return 0; }
洛谷 P1618 三連擊(升級版)