#include<iostream> #include<fstream> #include<cstdlib> #include<cmath> #include<cstring> using namespace std; string card="!A234567890JQK"; void dfs(int start,int end,double *a) { int i,j,k,t; double b[5]; if(start==end) { if(abs(a[start]-24)<0.00001) { cout<<"yes"<<endl; exit(0); } else return ; } for(i=start;i<=end;++i) for(j=start;j<=end;++j) if(i!=j) { t=0; for(k=start;k<=end;++k) if(k!=i && k!=j) { t++; b[t]=a[k]; } t++; b[t]=a[i]+a[j]; dfs(1,t,b); b[t]=a[i]-a[j]; dfs(1,t,b); b[t]=a[i]*a[j]; dfs(1,t,b); if(a[j]!=0) { b[t]=a[i]/a[j]; dfs(1,t,b); } } } int main() { string c; int i=1; double a[5]; //fstream cin("d:\\test.txt"); for(i=1;i<=4;i++) { cin>>c;//输入的数据可能为 10 1 2 3 4 5 6 7 8 9 A J Q K 无语 if(c=="10") c="0"; if(c=="1") a[i]=1; else a[i]=card.find(c); } dfs(1,4,a); cout<<"no"<<endl; return 0; }