大佬们能帮我看看哪里不对吗qwq第二个点和第五个点wa了

P1618 三连击(升级版)

nanmoon @ 2020-03-20 21:54:36

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int a,b,c,i,j,x,y,z,x1,x2,x3,y1,y2,y3,z1,z2,z3,m[10];
    cin>>a>>b>>c;
    int t=0;
    for(i=123;i<=345;i++){
        int q=0;
        x=i*a;
        m[0]=x%10;
        m[1]=(x/10)%10;
        m[2]=x/100;
        y=i*b;
        m[3]=y%10;
        m[4]=(y/10)%10;
        m[5]=y/100;
        z=i*c;
        m[6]=z%10;
        m[7]=(z/10)%10;
        m[8]=z/100;
        sort(m,m+8);
        for(j=0;j<8;j++){
            if(m[j]==m[j+1]||m[j]==0){
                q=1;
                break;
            }
        }
        if(q==0&&x<987&&y<987&&z<=987){
            t+=1;
            cout<<x<<" "<<y<<" "<<z<<endl;
        }
    }
    if(t==0){
        cout<<"No!!!"<<endl;
    }
    return 0;
} 

by Lylighte @ 2020-03-20 22:11:33

sort 的范围错了

应该写成 sort(m,m+9);


by Lylighte @ 2020-03-20 22:15:54

Sort函数有三个参数:

第一个是要排序的数组的起始地址。

第二个是结束的地址(最后一位要排序的地址的下一地址

第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。

引自这里


by nanmoon @ 2020-03-21 11:57:17

@_mliy 明白了 感谢>_<


by nanmoon @ 2020-03-21 16:05:50

第五个点还是wa,不懂>>>...<<<


|