题解 P3150 【pb的游戏(1)】

· · 题解

一看到以为是博弈论。。。看了好久发现是判断奇数偶数。。

既然是入门题,那就讲一些好玩的操作吧。

先上我的代码:

    #include<cstdio>
    int main(int i){
        scanf("%*d");
        while(scanf("%d",&i)==1)
        printf((i&1?"zs wins\n":"pb wins\n"));
        return 0;
    }

接下来讲讲这个代码用到的东西:

scanf("%*d")

仅仅输入一个整数,不做任何操作。

while(scanf("%d",&i)==1)

当输入这个整数时,继续执行循环体。

scanf这个函数是有返回值的,返回值是输入的变量的个数。

i&1

当一个数是奇数时,返回1

是偶数时,返回0

道理是二进制,楼下的题解讲得很清楚了

a?b:c

三目运算符,相当于:

 if(a==1)return b;

 else return c;

也就是:当a(布尔表达式)为真(1)时,表达式返回b,否则返回c

题解到此结束,希望你能从我的题解中学到一些技巧。

毕竟这样写代码比较优美简洁吧