一通诡异的排序后得出答案,求大佬帮忙剪枝

P1008 [NOIP1998 普及组] 三连击

```cpp #include<bits/stdc++.h> #define N 1000 using namespace std; int PanDing(int a,int b,int c){ int flag; int n[9]; int n1=a/100,n2=a/10-n1*10,n3=a%10; int m1=b/100,m2=b/10-m1*10,m3=b%10; int h1=c/100,h2=c/10-h1*10,h3=c%10;//截位取各个数位 n[1]=n1,n[2]=n2,n[3]=n3; n[4]=m1,n[5]=m2,n[6]=m3; n[7]=h1,n[8]=h2,n[9]=h3;//存入 sort(n,n+9);//排序 for(int i=1;i<=9;i++){ if(n[i]!=n[i-1]){ flag=true;//判定是否数字唯一 }else{ flag=false; break;//错误跳出 } } if(flag==true) cout<<a<<" "<<b<<" "<<c<<endl;//输出 } int a[N],b[N]; int main(){ for(int i=100;i<=333;i++){//i顶多333, a[i]=i*2; b[i]=i*3;//直接找出一千以内成1:2:3的数,不用再遍历判定 PanDing(i,a[i],b[i]); } return 0; } ```
by SbasdianJulian @ 2018-10-23 23:12:53


~~处女座~~金牛座抱歉
by SbasdianJulian @ 2018-10-23 23:13:30


|