1 // 我真的好笨 只会枚举 话说那个ac的370b到底是怎么做的 /(ㄒoㄒ)/~~
2 #include <iostream>
3 #include <algorithm>
4 using namespace std;
5 struct T{
6 int type;// 核♥ 分类排序
7 int x;
8 friend bool operator < (const T& a,const T& b) {
9 if (a.type==b.type) return (a.x<b.x);
10 else return a.type>b.type;
11 }
12 };
13 T t[1000];
14 int main ()
15 {
16 int n=0;
17 for (int i=1;i<=9;i++)
18 for (int j=i;j<=9;j++)
19 for (int k=j;k<=9;k++) {
20 t[++n].x=k*100+j*10+i;
21 if (i==j&&j==k) t[n].type=1;
22 else if (i+2==k&&i+1==j) t[n].type=2;
23 else if (i==j) {
24 t[n].type=3;
25 t[n].x=i*100+j*10+k;// 如果是对子 先比较对子 然后再比较单张
26 }
27 else if (j==k) t[n].type=3;
28 else t[n].type=4;
29 }
30 sort(t+1,t+1+n);
31 int T; cin>>T;
32 int a[5];
33 while (T--) {
34 for (int i=1;i<=3;i++) cin>>a[i]; sort(a+1,a+4);
35 int x=a[3]*100+a[2]*10+a[1];
36 if (a[1]==a[2]&&a[2]!=a[3]) x=a[1]*100+a[2]*10+a[3];
37 int i;
38 for (i=1;i<=n;i++) {if (x==t[i].x) break;}
39 if (a[3]==a[2]&&a[2]==a[1]) cout<<n-i+1<<endl;
40 else if (x==532) cout<<n-i-9<<endl;
41 else if (a[3]==a[2]||a[2]==a[1]) cout<<n-i-1<<endl;// 因为牌最多有四张 对子的情况去掉豹子的那一种情况;
42 else cout<<n-i<<endl;
43 }
44 return 0;
45 }