卡60。。too many or too few lines.

P1618 三连击(升级版)

baozaw @ 2018-03-28 22:20:26

include<cstdio>

include<iostream>

using namespace std; int h[10],book[10]={0}; int a,b,c,total=0; void dfs(int step) { int i,a1,b1,c1; if(step>9) { a1=h[1]100+h[2]10+h[3]; b1=h[4]100+h[5]10+h[6]; c1=h[7]100+h[8]10+h[9]; if(a1/a==b1/b&&b1/b==c1/c) { printf("%d %d %d\n",a1,b1,c1); total=1; } return; } for(i=1;i<=9;i++) { if(book[i]==0) { book[i]=1; h[step]=i; dfs(step+1); book[i]=0; } } return; } int main() { cin>>a>>b>>c; dfs(1); if(total==0) cout<<"No!!!"<<endl; return 0; }


by x义x @ 2018-03-31 13:15:13

int型的除法是取整的……

举个例子,就算比例是1.3:2.7:4你这个程序还是会将其输出。

所以,改用浮点吧。


|