UVa--679 Dropping Balls(模拟)

来源:互联网 发布:北京青少年行知实践 编辑:程序博客网 时间:2024/06/07 06:04

UVa-679

题解:

如果模拟这这所有I个小球的小落,会超时。

直接模拟最后一个小球的路线。

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main(){    int t, D, I;    cin >> t;    while(t--)    {        cin >> D >> I;        int k = 1;        for(int i = 1; i <= D - 1; ++i) //每次下落一层,除叶子外,一共 D-1 层        {            if(I & 1){                k *= 2;                I = (I + 1) / 2;            }            else{                k = 2 * k + 1;                I /= 2;            }        }        cout << k << endl;    }    return 0;}

0 0
原创粉丝点击