神犇们,帮我看看为什么第五个测试点会RE?

P1618 三连击(升级版)

CraZYali @ 2016-05-31 13:01:51

/*pd是判断有没有解,其他的就是标记*/

#include<iostream>
using namespace std;
int main(){    
    int a,b,c,x,y,z,sum,i,pd=0;
    int p[11];
    cin>>x>>y>>z;    
    for(i=123;i<=329;++i){
        for(int j=1;j<=9;j++) p[j]=0;
        a=i*x;
        b=i*y;
        c=i*z;        
        p[a%10]=1;
        p[b%10]=1;
        p[c%10]=1;
        p[a/10%10]=1;
        p[b/10%10]=1;
        p[c/10%10]=1;
        p[a/100]=1;
        p[b/100]=1;
        p[c/100]=1;
        sum=0;        
        for(int j=1;j<=9;j++) sum=sum+p[j];
        if(sum==9){
            cout<<i*x<<" "<<i*y<<" "<<i*z<<endl;
            pd=1;
        }
    }
    if(pd==0){
            cout<<"No!!!";
            return 0;
    } 
    return 0;
}

by owogon @ 2016-05-31 17:04:47

是这样的,你的i范围不对,应为1~999,比如说是123 比 456 比 789,那么你的i就错了。

第五个点数据就是123 456 789


by CraZYali @ 2016-06-05 12:01:05

感谢,COPY时忘了修改了


|