笔试题目太长记不住,以后再补
以下是我考试时的大致代码,测试用例通过率为20%,在最后1分钟提交,没有时间调试了。
这道题目用到了计算二进制中1的个数,知道这一点这道题目还是很容易的。
# include<stdio.h>
int Numberof1(int a)
{
int count = 0;
while (a)
{
count++;
a = (a - 1) & a;
}
return count;
}
int main()
{
int road, zhi_speed, wan_speed;
scanf("%d %d %d", &road, &zhi_speed, &wan_speed);
if ((road < 127) || (road > 255)) {
printf("error");
return 0;
}
int count1 = Numberof1(road);
int count2 = 8 - count1;
if ((count1 * zhi_speed + count2 * wan_speed) > (count1 * 130 + count2 * 90))
printf("win");
else
printf("lose");
return 0;
}
测试用例未全部通过可能是因为边界条件没有满足全部的要求,应当再增加对直线速度和弯道速度的限制,具体别的条件看到题目之后我再看丢了哪个吧。