0_0_30232102_27354.cpp:1:149: error: stray '\302' in program
/*暴力出奇迹,逆向试数 把所有的四位数都判断一遍,如果解=1,则输出,否则Not sure ,竟然能AC,我也是醉了*/ #include<stdio.h>int main(){ int a[110],b[110],c[110]; //a=问答中的数,b=猜对的个数,c=正确的数 int i,s,k; //s所有的四位数 int n; //n次问答 int a1,a2,a3,a4; //s数中提取的四位数 int b1,b2,b3,b4; //a[i]测试数中提取的四位数 int bb,cc; //判断条件b和条件c 是否符合 int e[11],d[11]; //记录该数出现次数,因为问答次数很多,需要更改数组和模版记录数组 int z,j,l; //z为符合状态, j为符合的个数,l保存符合的数 while(~scanf("%d",&n),n) { for(i=1;i<=n;i++) scanf("%d%d%d",&a[i],&b[i],&c[i]); j=0; for(s=1000;s<=9999;s++) //s从1000到9999开始暴力试数,题中说四位数,所以不算0开头 { z=1; //状态开始为合理(1) for(i=0;i<10;i++) //d[i]记录s提取数出现的次数 先全部置零 d[i]=0; a4=s%10; //a4~a1为 s数中提取的四位数 a3=s/10%10; a2=s/100%10; a1=s/1000; d[a1]++; //提取后,该数出现的次数进行累加 d[a2]++; d[a3]++; d[a4]++; /* printf("%d~%d~%d~%d\n",a1,a2,a3,a4); for(i=0;i<10;i++) printf("%d ",e[i]); printf("\n"); */ for(i=1;i<=n;i++) //开始测试n种问答是否合理 { bb=0; //b条件和c条件置零 cc=0; b4=a[i]%10; //提取测试数的四位数 b3=a[i]/10%10; b2=a[i]/100%10; b1=a[i]/1000; // printf("%d~%d~%d~%d\n",b1,b2,b3,b4); for(k=0;k<10;k++) //将模版d[i]赋值给e[i] e[k]=d[k]; //因为e[i]每次循环都要复原,所以需要模版d[i] if(e[b1]) //如果e[i]出现过,那么bb+1,同时e[i]本身次数-1 { bb++; e[b1]--; } if(e[b2]) { bb++; e[b2]--; } if(e[b3]) { bb++; e[b3]--; } if(e[b4]) { bb++; e[b4]--; } if(a1==b1) //c条件判断 cc++; if(a2==b2) cc++; if(a3==b3) cc++; if(a4==b4) cc++; //printf("%d,%d\n",bb,cc); if(bb!=b[i]||cc!=c[i]) //如果出现过不符合的情况,z状态=0,跳出本数的测试 { z=0; break; } } if(z) //如果经过所有的问答后,z状态还=1,该数符合条件 { l=s; //先记录先该数 j++; //计算符合条件的总个数 }}//printf("%d\n",j); if(j==1) //j只能等于1,若大于则答案不唯一,若=0则无解 printf("%d\n",l); else printf("Not sure\n");}return 0;}
^
0_0_30232102_27354.cpp:1:149: error: stray '\240' in program
0_0_30232102_27354.cpp:1:151: error: stray '#' in program
/*暴力出奇迹,逆向试数 把所有的四位数都判断一遍,如果解=1,则输出,否则Not sure ,竟然能AC,我也是醉了*/ #include<stdio.h>int main(){ int a[110],b[110],c[110]; //a=问答中的数,b=猜对的个数,c=正确的数 int i,s,k; //s所有的四位数 int n; //n次问答 int a1,a2,a3,a4; //s数中提取的四位数 int b1,b2,b3,b4; //a[i]测试数中提取的四位数 int bb,cc; //判断条件b和条件c 是否符合 int e[11],d[11]; //记录该数出现次数,因为问答次数很多,需要更改数组和模版记录数组 int z,j,l; //z为符合状态, j为符合的个数,l保存符合的数 while(~scanf("%d",&n),n) { for(i=1;i<=n;i++) scanf("%d%d%d",&a[i],&b[i],&c[i]); j=0; for(s=1000;s<=9999;s++) //s从1000到9999开始暴力试数,题中说四位数,所以不算0开头 { z=1; //状态开始为合理(1) for(i=0;i<10;i++) //d[i]记录s提取数出现的次数 先全部置零 d[i]=0; a4=s%10; //a4~a1为 s数中提取的四位数 a3=s/10%10; a2=s/100%10; a1=s/1000; d[a1]++; //提取后,该数出现的次数进行累加 d[a2]++; d[a3]++; d[a4]++; /* printf("%d~%d~%d~%d\n",a1,a2,a3,a4); for(i=0;i<10;i++) printf("%d ",e[i]); printf("\n"); */ for(i=1;i<=n;i++) //开始测试n种问答是否合理 { bb=0; //b条件和c条件置零 cc=0; b4=a[i]%10; //提取测试数的四位数 b3=a[i]/10%10; b2=a[i]/100%10; b1=a[i]/1000; // printf("%d~%d~%d~%d\n",b1,b2,b3,b4); for(k=0;k<10;k++) //将模版d[i]赋值给e[i] e[k]=d[k]; //因为e[i]每次循环都要复原,所以需要模版d[i] if(e[b1]) //如果e[i]出现过,那么bb+1,同时e[i]本身次数-1 { bb++; e[b1]--; } if(e[b2]) { bb++; e[b2]--; } if(e[b3]) { bb++; e[b3]--; } if(e[b4]) { bb++; e[b4]--; } if(a1==b1) //c条件判断 cc++; if(a2==b2) cc++; if(a3==b3) cc++; if(a4==b4) cc++; //printf("%d,%d\n",bb,cc); if(bb!=b[i]||cc!=c[i]) //如果出现过不符合的情况,z状态=0,跳出本数的测试 { z=0; break; } } if(z) //如果经过所有的问答后,z状态还=1,该数符合条件 { l=s; //先记录先该数 j++; //计算符合条件的总个数 }}//printf("%d\n",j); if(j==1) //j只能等于1,若大于则答案不唯一,若=0则无解 printf("%d\n",l); else printf("Not sure\n");}return 0;}
^
0_0_30232102_27354.cpp:1:149: error: stray '\302' in program
/*暴力出奇迹,逆向试数 把所有的四位数都判断一遍,如果解=1,则输出,否则Not sure ,竟然能AC,我也是醉了*/ #include<stdio.h>int main(){ int a[110],b[110],c[110]; //a=问答中的数,b=猜对的个数,c=正确的数 int i,s,k; //s所有的四位数 int n; //n次问答 int a1,a2,a3,a4; //s数中提取的四位数 int b1,b2,b3,b4; //a[i]测试数中提取的四位数 int bb,cc; //判断条件b和条件c 是否符合 int e[11],d[11]; //记录该数出现次数,因为问答次数很多,需要更改数组和模版记录数组 int z,j,l; //z为符合状态, j为符合的个数,l保存符合的数 while(~scanf("%d",&n),n) { for(i=1;i<=n;i++) scanf("%d%d%d",&a[i],&b[i],&c[i]); j=0; for(s=1000;s<=9999;s++) //s从1000到9999开始暴力试数,题中说四位数,所以不算0开头 { z=1; //状态开始为合理(1) for(i=0;i<10;i++) //d[i]记录s提取数出现的次数 先全部置零 d[i]=0; a4=s%10; //a4~a1为 s数中提取的四位数 a3=s/10%10; a2=s/100%10; a1=s/1000; d[a1]++; //提取后,该数出现的次数进行累加 d[a2]++; d[a3]++; d[a4]++; /* printf("%d~%d~%d~%d\n",a1,a2,a3,a4); for(i=0;i<10;i++) printf("%d ",e[i]); printf("\n"); */ for(i=1;i<=n;i++) //开始测试n种问答是否合理 { bb=0; //b条件和c条件置零 cc=0; b4=a[i]%10; //提取测试数的四位数 b3=a[i]/10%10; b2=a[i]/100%10; b1=a[i]/1000; // printf("%d~%d~%d~%d\n",b1,b2,b3,b4); for(k=0;k<10;k++) //将模版d[i]赋值给e[i] e[k]=d[k]; //因为e[i]每次循环都要复原,所以需要模版d[i] if(e[b1]) //如果e[i]出现过,那么bb+1,同时e[i]本身次数-1 { bb++; e[b1]--; } if(e[b2]) { bb++;
|