1. 程式人生 > >[騰訊]遊戲任務標記

[騰訊]遊戲任務標記

遊戲裡面有很多各式各樣的任務,其中有一種任務玩家只能做一次,這類任務一共有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;
}