请问一下各位大佬的测试数据

P1618 三连击(升级版)

@[bu_chi_suan](/user/1314163) #1:特判 $a=0$ #7:...... 代码: ```cpp #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; int b[100]; void go(int x){//分离3位数 b[x%10]=1; b[x/10%10]=1; b[x/100]=1; }bool check(int x,int y,int z){//判断是否合法 memset(b,0,sizeof(b)); if(y>999||z>999)return 0; go(x);go(y);go(z); for(int c=1;c<=9;c++)if(!b[c])return 0; return 1; }int main(){ long long A,B,C,x,y,z,cnt=0; cin>>A>>B>>C; if(A==0){//特判 cout<<"No!!!"; return 0; }for(int x=123;x<=987;x++){ if(x*B%A||x*C%A)continue; y=x*B/A,z=x*C/A; if(check(x,y,z))printf("%lld %lld %lld\n",x,y,z),cnt++; }if(!cnt)printf("No!!!"); } ```
by xd244 @ 2024-03-23 20:44:36


```cpp #include<cstdio> #include<algorithm> using namespace std; int num[9]={1,2,3,4,5,6,7,8,9}; int main() { int a,b,c,k,cnt,num1,num2,num3,arr1[9],arr[9]={0};cnt=0; scanf("%d%d%d",&a,&b,&c); if(a==0) { printf("No!!!"); return 0; } for(int i=123;i<=987 ;i++) { num1=i; num2=(b/a)*i; num3=(c/a)*i; if(i%10==5 || num2/10%10==0 || num3/10%10==0 || num3>999 || num2>999) continue; if((num2/num1)==(b/a) && (num3/num1)==(c/a))//满足比例关系后,判断是否由不同的数字组成 { //分离九个数字存入数组arr中 int j=0; arr[j]=num1/100;j++; arr[j]=num1/10%10;j++; arr[j]=num1%10;j++; arr[j]=num2/100;j++; arr[j]=num2/10%10;j++; arr[j]=num2%10;j++; arr[j]=num3/100;j++; arr[j]=num3/10%10;j++; arr[j]=num3%10; for(int m=0;m<9;m++)//将此时乱序的数组存入arr1中以待后用 arr1[m]=arr[m]; //对乱序的arr正向排序后与num数组一一比较,若完全相同,则满足取到全部的数字 sort(arr,arr+9); for( k=0;k<9;k++) { if(arr[k]!=num[k]) { break; } } if(k==9) { cnt++;//标记是否有解 for(int q=0;q<9;q++) { printf("%d",arr1[q]); if((q+1)%3==0 && q!=8) { printf(" "); } } printf("\n"); } } } if(cnt==0)//无解 printf("No!!!"); return 0; } ```
by bu_chi_suan @ 2024-03-24 13:52:43


@[xd244](/user/1153793) 大佬,请问我的逻辑有什么问题吗?第七个数据过不了
by bu_chi_suan @ 2024-03-24 13:53:39


@[bu_chi_suan](/user/1314163) 是不是 $a=b=c$ 的时候?
by xd244 @ 2024-03-24 14:28:38


@[xd244](/user/1153793) 题目不是说保证a<b<c吗
by bu_chi_suan @ 2024-03-24 15:51:38


|