社区讨论
80分代码求调
P1618三连击(升级版)参与者 5已保存回复 10
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 10 条
- 当前快照
- 1 份
- 快照标识符
- @lo85x48q
- 此快照首次捕获于
- 2023/10/27 13:18 2 年前
- 此快照最后确认于
- 2023/10/27 13:18 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
//memset(d,0,sizeof d);
int a,b,c,d[11],ans,ans2,ans3,wa=0,sum=0,gcd3;
int gcd(int a,int b,int c)
{
int t;
t=a;
if(t>b) t=b;
if(t>c) t=c;
while(a%t!=0||b%t!=0||c%t!=0)t--;
return t;
}
int main() {
cin>>a>>b>>c;
gcd3=gcd(a,b,c);
a=a/gcd3,b=b/gcd3,c=c/gcd3;
//cout<<a<<" "<<b<<" "<<c<<" "<<gcd3<<endl;
if(a==0||b==0||c==0){cout<<"No!!!";return 0;}
for(int i=1;i<=9;i++)
{
for(int j=1;j<=9;j++)
{
for(int k=1;k<=9;k++)
{
d[i]++;d[j]++;d[k]++;
ans=i*100+j*10+k;
ans2=ans*b;
ans3=ans*c;
if(ans2/1000!=0){memset(d,0,sizeof d);continue;}
else if(ans3/1000!=0){memset(d,0,sizeof d);continue;}
d[ans2%10]++;d[ans2/10%10]++;d[ans2/100]++;
d[ans3%10]++;d[ans3/10%10]++;d[ans3/100]++;
if(d[0]!=0){memset(d,0,sizeof d);continue;}
for(int l=1;l<=9;l++)if(d[l]>=2){wa=1;break;}
if(wa==1){wa=0;memset(d,0,sizeof d);continue;}
else {cout<<ans<<" "<<ans2<<" "<<ans3<<endl;sum++;memset(d,0,sizeof d);}
}
}
}
if(sum==0)cout<<"No!!!";
return 0;
}
回复
共 10 条回复,欢迎继续交流。
正在加载回复...