1. 程式人生 > >vijos 1772 巧妙填數

vijos 1772 巧妙填數

logs -html 第一題 log noip for per ++ text

描述

1,2,\cdots,91,2,?,9共99個數分成三組,分別組成三個三位數,且使這三個三位數構成1:2:31:2:3的比例。

試求出所有滿足條件的三個三位數。
例如:三個三位數192,384,576192,384,576滿足以上條件。

格式

輸入格式

無輸入。

輸出格式

需要輸出全部結果。每行輸出3個數 用空格隔開。按照字典序的順序輸出。

來源

NOIP 1998 普及組 第一題

求解代碼

#include <algorithm>
#include <cstdio>
using namespace std;
int main()
{
    
int a[11]={0,1,2,3,4,5,6,7,8,9}; 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*2==sum2&&sum1*3==sum3) printf("%d %d %d\n",sum1,sum2,sum3); }while(next_permutation(a+1,a+11-1)); return 0; }

vijos 1772 巧妙填數