全TLE

P1618 三连击(升级版)

qz5zxieliyi @ 2023-07-15 09:15:24

#include<iostream>
using namespace std;
double x,y,z,j,k,l;
bool t=1;
int main() {
    cin>>x>>y>>z;
    for(int a=1;a<=9;a++)
    for(int b=1;b<=9;b++)
    for(int c=1;c<=9;c++)
    for(int d=1;d<=9;d++)
    for(int e=1;e<=9;e++)
    for(int f=1;f<=9;f++)
    for(int g=1;g<=9;g++)
    for(int h=1;h<=9;h++)
    for(int i=1;i<=9;i++)
    {
        if(h==i||g==i||g==h||f==i||f==h||f==g||e==i||e==h||e==g||e==f||d==i||d==h||d==g||d==f||d==e||c==i||c==h||c==g||c==f||c==e||c==d||b==i||b==h||b==g||b==f||b==e||b==d||b==c||a==i||a==h||a==g||a==f||a==e||a==d||a==c||a==b)continue;
        if((100*a+10*b+c)/x==(100*d+10*e+f)/y&(100*d+10*e+f)/y==(100*g+10*h+i)/z&&(100*g+10*h+i)/z==(100*a+10*b+c)/x)
        {
            cout<<100*a+10*b+c<<" "<<100*d+10*e+f<<" "<<100*g+10*h+i<<endl;
            t=0;
        }
    }
    if(t==1)cout<<"No!!!";
    return 0;
}

by CarrotMeow @ 2023-07-15 09:22:40

@qz5zxieliyi 你这思路就不太对,应该先找出第一个,再依比例求出剩下两个,再判断有没有包含 1 \sim 9


by qz5zxieliyi @ 2023-07-15 09:28:20

@StandardManager 懂了 等我下先去敲下代码


by qz5zxieliyi @ 2023-07-15 09:51:54

@StandardManager 大佬打完了 交了一遍Subtask #0的#7WA怎么回事

#include<iostream>
using namespace std;
int x,y,z,j,k,l,a,b,c,d,e,f,g,h,i,one,two,three;
bool t=1;
int main() {
    cin>>x>>y>>z;
    for(a=1;a<=9;a++)
    for(b=1;b<=9;b++)
    for(c=1;c<=9;c++)
    {
        one=(100*a+10*b+c)*x;
        two=(100*a+10*b+c)*y;
        three=(100*a+10*b+c)*z;
        if(one>=1000||two>=1000||three>=1000)continue;
        f=two%10;
        e=((two-f)/10)%10;
        d=((two-10*e-f)/100)%10;
        i=three%10;
        h=((three-i)/10)%10;
        g=((three-10*h-i)/100)%10;
        if(h==i||g==i||g==h||f==i||f==h||f==g||e==i||e==h||e==g||e==f||d==i||d==h||d==g||d==f||d==e||c==i||c==h||c==g||c==f||c==e||c==d||b==i||b==h||b==g||b==f||b==e||b==d||b==c||a==i||a==h||a==g||a==f||a==e||a==d||a==c||a==b)continue;
        if(a==0||b==0||c==0||d==0||e==0||f==0||g==0||h==0||i==0)continue;
        cout<<one<<" "<<two<<" "<<three<<endl;
        t=0;
    }
    if(t==1)cout<<"No!!!";
    return 0;
}

by loook @ 2023-07-17 20:11:34

因为它#7的数据点是123 456 789

所以你的a和b要从0开始循环

接着特判one two three是否小于100

如果是就continue


|