13539173797zc @ 2024-11-10 16:08:49
我快疯掉了,电脑也罢工,大佬改改,AC必关!
#include<iostream>
#include<cmath>
using namespace std;
int a[900],b[900],c[900],ai,bi,ci;
int main(){
int A,B,C;
cin>>A>>B>>C;
for(int i=123;i<=987;i++){
for(int j=123;j<=987;j++){
for(int k=123;k<=987;k++){
if(i/j==A/B&&i/k==A/C&&j/k==B/C){
for(int o=1;o<=3;o++){
int ii=i%10;
i/=10;
for(int p=1;p<=3;p++){
int jj=j%10;
j/=10;
for(int l=1;l<=3;l++){
int kk=k%10;
k/=10;
if(!(ii==jj&&ii==kk&&jj==kk)){
a[ai]=i;
b[bi]=j;
c[ci]=k;
ai++;
bi++;
ci++;
}
}
}
}
}
}
}
}
for(int i=0;i<ai;i++){
int mi=min(a[i],b[i]);
mi=min(mi,c[i]);
cout<<mi<<" ";
if(mi==a[i]){
mi=min(b[i],c[i]);
cout<<mi<<" ";
if(mi==b[i]) cout<<c[i];
else cout<<b[i];
}else if(mi==b[i]){
mi=min(a[i],c[i]);
cout<<mi<<" ";
if(mi==a[i]) cout<<c[i];
else cout<<a[i];
}
else{
mi=min(a[i],b[i]);
cout<<mi<<" ";
if(mi==a[i]) cout<<b[i];
else cout<<a[i];
}
}
return 0;
}
by KarmaticEnding @ 2024-11-10 16:23:33
六重循环,不炸都难,判为病毒,一命芜湖
这个实在是调不了,原因是会TLE
你第四五六重循环
@13539173797zc
by I_LOVE_MATH @ 2024-11-10 16:27:25
@13539173797zc 你电脑应该没问题,你的这种现象在于你使用了win7系统,所以在程序RE时会有弹窗
by I_LOVE_MATH @ 2024-11-10 16:30:25
RE叫做运行时错误,当除以0或者数组越界时会出现,像你这个RE的原因是除以0了,因为你在除以10后i为零,导致i/j时程序错误 你可以在代码中输出中间值来调试,发现错误
by I_LOVE_MATH @ 2024-11-10 16:32:30
我十分建议你重写,因为你的这个做法太长了又匪夷所思,代码复杂度高,时空复杂度也高到爆炸,建议看题解理解一下
祝你学习进步
by 13539173797zc @ 2024-11-10 17:59:20
@I_LOVE_MATH
十分感谢!!
最起码让我没在错误的道路上越走越远
by 13539173797zc @ 2024-11-10 18:00:39
@light_dream
感谢!!!
已关^_^
by 13539173797zc @ 2024-11-10 18:01:22
@I_LOVE_MATH
已关^_^