wwnf @ 2017-09-29 00:13:39
第一次60,下载大概是第二个数据感觉是单复数的问题。然后加上判断第二个三位数的个位数只要是2的倍数就不算。然后还是60…只是错的测试点变了。很懵。第二个三位数可能不是2的倍数吗…为什么错了上次没错的测试点。分别是两次的代码:
第一次:
#include <iostream>
#include <cstdio>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
int a,b,c,book[10],yi,er,san,la,lb,lc,mark[10],flag;
void babc()
{
yi=book[1]*100 + book[2]*10 + book[3];
er=book[4]*100 + book[5]*10 + book[6];
san=book[7]*100 + book[8]*10 + book[9];
la=yi/a; lb=er/b; lc=san/c;
if ( la==lb && lb==lc )
{
flag=1;
for (int j=1;j<=9;j++)
{
printf("%d",book[j]);
flag++;
if (flag==4 || flag==7)
{
printf(" ");
}
}
printf("\n");
return;
}
else
return;
}
void dfs(int depth)
{
if (depth > 9)
{
babc();
return;
}
for (int i=1;i<=9;i++)
{
if (mark[i]==0)
{
book[depth]=i;
mark[i]=1;
dfs(depth+1);
mark[i]=0;
}
}
return;
}
int main()
{
scanf("%d%d%d",&a,&b,&c);
dfs(1);
if (!flag) printf("No!!!");
return 0;
}
by wwnf @ 2017-09-29 00:14:59
第二次:
#include <iostream>
#include <cstdio>
#include <string>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
int a,b,c,book[10],yi,er,san,la,lb,lc,mark[10],flag;
void babc()
{
if (book[6]%2==1) return;
yi=book[1]*100 + book[2]*10 + book[3];
er=book[4]*100 + book[5]*10 + book[6];
san=book[7]*100 + book[8]*10 + book[9];
la=yi/a; lb=er/b; lc=san/c;
if ( la==lb && lb==lc )
{
flag=1;
for (int j=1;j<=9;j++)
{
printf("%d",book[j]);
flag++;
if (flag==4 || flag==7) {
printf(" ");
}
}
printf("\n");
return;
}
else
return;
} void dfs(int depth)
{ if (depth > 9)
{
babc();
return;
}
for (int i=1;i<=9;i++)
{
if (mark[i]==0)
{
book[depth]=i;
mark[i]=1;
dfs(depth+1);
mark[i]=0;
}
}
return;
} int main()
{ scanf("%d%d%d",&a,&b,&c);
dfs(1);
if (!flag) printf("No!!!");
return 0;
}
by wwnf @ 2017-09-29 12:17:15
我脑抽了…
by lxy12138 @ 2017-09-29 13:01:57
你确实是脑抽了 :-)
by wwnf @ 2017-09-29 13:02:38
@lxy12138 脑抽通过空气传播…你的锅
by lxy12138 @ 2017-10-02 10:21:43
@Webb 坐我旁边你的智商可能是被我吸收了
by wwnf @ 2017-10-02 12:36:52
@lxy12138 我的智商被你吸收这叫中和
by lxy12138 @ 2017-10-02 21:14:15
@Webb 是我力场强谢谢
by 飞翔的金鱼 @ 2017-10-07 11:44:50
你的NO!!!错了
by Ervin @ 2017-10-26 20:14:41
@飞翔的金鱼 dalao这个No!!!是对的。。
by xhx0809 @ 2017-11-30 20:10:19
代码:
//#include<iostream>
//using namespace std;
//bool bcf(int s)
//{
// int tong[10]={0};
// while(s)
// {
// int t=s%10;
// tong[t]++;
// s/=10;
// }
// for(int i=1;i<=9;i++)
// if(tong[i]!=1)
// return 0;
// return 1;
//}
//int main()
//{
// int a,b,c;
// bool ansflag=false;
// cin>>a>>b>>c;
// for(int i=123;i<=999;i++)
// if(i%a==0)
// {
// int t1=i,t2=i/a*b,t3=i/a*c;
// if(t1<=999&&t2<=999&&t3<=999)
// {
// int s=t1+t2*1000+t3*1000000;
// if(bcf(s))
// {
// cout<<t1<<" "<<t2<<" "<<t3<<endl;
// ansflag=true;
// }
// }
// }
// if(!ansflag)
// cout<<"No!!!";
// return 0;
//}