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 你这思路就不太对,应该先找出第一个,再依比例求出剩下两个,再判断有没有包含
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