三连击(升级版)
題目描述
將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
代碼實現:
1 #include<cstdio> 2 int a,b,c; 3 bool v[10],w[10],p; 4 bool pd(int x){ 5 while(x){ 6 if(w[x%10]) return 1; 7 w[x%10]=1;x/=10; 8 } 9 } 10 void find(int x){ 11 if(x>100){ 12 for(int i=1;i<10;i++) w[i]=0; 13 int y=x*b/a,z=x*c/a; 14 if(pd(x)||pd(y)||pd(z)) return; 15 printf("%d %d %d\n",x,y,z);p=1; 16 } 17 for(int i=1;i<=9;i++) if(!v[i]){v[i]=1;find(x*10+i);v[i]=0;} 18 } 19 int main(){ 20 scanf("%d%d%d",&a,&b,&c); 21 find(0); 22 if(!p) printf("No!!!\n"); 23 return 0; 24 }一開始沒注意到要輸出”No!!!“,結果60,呵呵。
題目來源:洛谷
轉載于:https://www.cnblogs.com/J-william/p/6286113.html
總結
- 上一篇: 微信公众平台开发(24) 自定义菜单功能
- 下一篇: NodeJs之调试