// C R O S S // +R O A D S // ----------- // D A N G E R //分析:D必为0或1,R必为偶数 #include <iostream> using namespace std; int main(void) { int c,r,o,s; int a,d,n,g,e; int temp,t,nn; for ( d=0; d<=1; d++ ) { for ( r=0; r<=8; r+=2 ) { if ( r==d ) continue; for ( o=0; o<=9; o++ ) { if ( o==d || o==r ) continue; for ( a=0; a<=9; a++ ) { if ( a==d || a==r || a==o ) continue; for ( s=0; s<=9; s++ ) { if ( s==d || s==r || s==o || s==a ) continue; for ( c=0; c<=9; c++ ) { if ( c==d || c==r || c==o || c==a || c==s ) continue; temp = (c*10000+r*1000+o*100+s*10+s) + (r*10000+o*1000+a*100+d*10+s); if ( temp%10 != r ) continue; if ( temp/100000 != d ) continue; if ( (temp/10000)%10 != a ) continue; t = temp; for ( nn=1; nn<=4; nn++ ) { if ( nn==2 ) e = t%10; else if ( nn==3 ) g = t%10; else if ( nn==4 ) n = t%10; t /= 10; } if ( e==g || e==n || g==n ) continue; if ( e==c || e==r || e==o || e==s || e==a || e==d ) continue; if ( g==c || g==r || g==o || g==s || g==a || g==d ) continue; if ( n==c || n==r || n==o || n==s || n==a || n==d ) continue; cout<<c<<r<<o<<s<<s<<" + "<<r<<o<<a<<d<<s<<" = "<<d<<a<<n<<g<<e<<r; } } } } } } cin.get(); return 0; }