1 条题解

  • 0
    @ 2021-6-15 14:43:59

    C++ :

    #include <iostream>
    using namespace std;
    #include <cstdio>
    #include <cstring>
    
    bool tree[2097152];
    int last,sd;
    int d,I;
    
    void work(int x)
    {
    	sd++;
    	if (tree[x])
    	{
    		tree[x]=false;
    		if (sd==d)
    		{
    			last=x;
    			return;
    		}
    		work(x*2+1);
    	}
    	else
    	{
    		tree[x]=true;
    		if (sd==d)
    		{
    			last=x;
    			return;
    		}
    		work(x*2);
    	}
    }
    
    int main()
    {
    	memset(tree,false,sizeof(tree));
    	cin>>d>>I;
    	for (int i=1; i<=I; i++) 
    	{
    		sd=0;
    	    work(1);
    	}
    	cout<<last;
    }
    
    
    
    
    • 1

    信息

    ID
    1039
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者