[腾讯]游戏任务标记

游戏里面有很多各式各样的任务,其中有一种任务玩家只能做一次,这类任务一共有1024个,任务ID范围[1,1024]。请用32个unsigned int类型来记录着1024个任务是否已经完成。初始状态都是未完成。 输入两个参数,都是任务ID,需要设置第一个ID的任务为已经完成;并检查第二个ID的任务是否已经完成。 输出一个参数,如果第二个ID的任务已经完成输出1,如果未完成输出0。如果第一或第二个ID不在[1,1024]范围,则输出-1。 

输入描述:

输入包括一行,两个整数表示人物ID.


 

输出描述:

输出是否完成

输入例子1:

1024 1024

输出例子1:

1
#include <iostream>

using namespace std;

int main()
{
    unsigned int q[32]={0};
    int a,b,flag,i,j;
    
    while(cin>>a>>b)
    {
        if(a>=1 && a<=1024 && b>=1 && b<=1024)
        {
            i=(a-1)/32;
            q[i]=q[i]|(1<<((a-1)%32));
            j=(b-1)/32;
            
            if(q[j]&(1<<((b-1)%32)))
                cout<<1;
            else
                cout<<0;
        }
        else
        {
            cout<<-1;
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xiaocong1990/article/details/82717062