软件开发和网站开发的区别,北京海淀区房价2022最新价格,高端网网站建设,关于网站建设的文章12个硬币#xff0c;有一个假的 或轻或重#xff0c;找出假硬币 开始用的模拟#xff0c;考虑很多情况 后来#xff0c;lmy说轻的-1#xff0c;重的1#xff0c;学数学的看什么都是数字#xff0c;orz 模拟写的两个差不多的代码#xff1a; (一#xff09; #include有一个假的 或轻或重找出假硬币 开始用的模拟考虑很多情况 后来lmy说轻的-1重的1学数学的看什么都是数字orz 模拟写的两个差不多的代码 (一 #includeiostream
#includecstdio
#includestring
#includecstring
using namespace std;
int vs[15],cnt[15];
int main()
{int CASE,ca,len,i,x,sum;char s1[15],s2[15],s3[8];scanf(%d,CASE);while(CASE--){sum0;memset(vs,0,sizeof(vs));memset(cnt,0,sizeof(cnt));for(ca1;ca3;ca){scanf(%s%s%s,s1,s2,s3);lenstrlen(s1);if(s3[0]e)//一定是真的{for(i0;ilen;i){xs1[i]-A;vs[x]1;xs2[i]-A;vs[x]1;}}if(s3[0]u)//前重后轻{sum;lenstrlen(s1);for(i0;ilen;i){xs1[i]-A;if(!vs[x]){vs[x]3;cnt[x]1;}else if(vs[x]2)vs[x]1;else if(vs[x]3)cnt[x];xs2[i]-A;if(!vs[x]){vs[x]2;cnt[x]1;}else if(vs[x]3)vs[x]1;else if(vs[x]2)cnt[x];}}if(s3[0]d)//前轻后重{sum;lenstrlen(s1);for(i0;ilen;i){xs1[i]-A;if(!vs[x]){vs[x]2;cnt[x];}else if(vs[x]3)vs[x]1;else if(vs[x]2)cnt[x];xs2[i]-A;if(!vs[x]){vs[x]3;cnt[x];}else if(vs[x]2)vs[x]1;else if(vs[x]3)cnt[x];}}}int mark;for(i0;i12;i){if(vs[i]!1cnt[i]sum)//vs不能去掉{marki;break;}}if(vs[mark]3)printf(%c is the counterfeit coin and it is heavy.\n,markA);if(vs[mark]2)printf(%c is the counterfeit coin and it is light.\n,markA);}return 0;
}二 #includeiostream
#includecstdio
#includestring
#includecstring
using namespace std;
int vs[15],cnt[15];
int main()
{int CASE,ca,len,i,x,sum;char s1[15],s2[15],s3[8];scanf(%d,CASE);while(CASE--){sum0;memset(vs,0,sizeof(vs));memset(cnt,0,sizeof(cnt));for(ca1;ca3;ca){scanf(%s%s%s,s1,s2,s3);lenstrlen(s1);if(s3[0]e)//一定是真的{for(i0;ilen;i){xs1[i]-A;vs[x]1,cnt[x]0;//必须写上cnt[x]0因为可能第二组或第三组xs2[i]-A;vs[x]1,cnt[x]0;}}if(s3[0]u)//前重后轻{sum;lenstrlen(s1);for(i0;ilen;i){xs1[i]-A;if(!vs[x]){vs[x]3;cnt[x]1;}else if(vs[x]2){vs[x]1;cnt[x]0;}else if(vs[x]3)cnt[x];xs2[i]-A;if(!vs[x]){vs[x]2;cnt[x]1;}else if(vs[x]3){vs[x]1;cnt[x]0;}else if(vs[x]2)cnt[x];}}if(s3[0]d)//前轻后重{sum;lenstrlen(s1);for(i0;ilen;i){xs1[i]-A;if(!vs[x]){vs[x]2;cnt[x];}else if(vs[x]3){vs[x]1;cnt[x]0;}else if(vs[x]2)cnt[x];xs2[i]-A;if(!vs[x]){vs[x]3;cnt[x];}else if(vs[x]2){vs[x]1;cnt[x]0;}else if(vs[x]3)cnt[x];}}}int mark;for(i0;i12;i){if(cnt[i]sum)//vs[i]!1去掉了{marki;break;}}if(vs[mark]3)printf(%c is the counterfeit coin and it is heavy.\n,markA);if(vs[mark]2)printf(%c is the counterfeit coin and it is light.\n,markA);}return 0;
}三转成数学加减后的简单代码 #includeiostream
#includecstdio
#includestring
#includecstring
using namespace std;
int cnt[15];
bool vs[15];
int main()
{int CASE,ca,len,i,x,sum;char s1[15],s2[15],s3[8];scanf(%d,CASE);while(CASE--){sum0;memset(cnt,0,sizeof(cnt));memset(vs,0,sizeof(vs));for(ca1;ca3;ca){scanf(%s%s%s,s1,s2,s3);lenstrlen(s1);if(s3[0]u)//前重后轻{sum;for(i0;ilen;i){xs1[i]-A;if(!vs[x])cnt[x];}for(i0;ilen;i){xs2[i]-A;if(!vs[x])cnt[x]--;}}if(s3[0]d)//前轻后重{sum;for(i0;ilen;i){xs1[i]-A;if(!vs[x])cnt[x]--;}for(i0;ilen;i){xs2[i]-A;if(!vs[x])cnt[x];}}if(s3[0]e)//相等{for(i0;ilen;i){xs1[i]-A;cnt[x]0;vs[x]1;}for(i0;ilen;i){xs2[i]-A;vs[x]1;cnt[x]0;}}}int mark;for(i0;i12;i){if(!vs[i])if(cnt[i]sum||cnt[i]-sum){marki;break;}}if(cnt[mark]0)printf(%c is the counterfeit coin and it is heavy.\n,markA);if(cnt[mark]0)printf(%c is the counterfeit coin and it is light.\n,markA);}return 0;
}转载于:https://www.cnblogs.com/sdau10kuaile/archive/2012/04/14/2446956.html