NYOJ 511 移動小球 模擬

2021-06-05 14:23:07 字數 458 閱讀 7697

解題思路:

先預處理一下左右陣列,使他們滿足初始時候的左右鄰居。

然後模擬移動即可。

這裡需要注意的就是移動時改變左右鄰居時,要防止覆蓋問題。就是我更改某個鄰居後,不能在以後的修改中影響這個值,所以順序需要注意。

在這裡錯了,找了半個小時。悲劇。

**如下:

#include#include#include#include#includeusing namespace std;

int l[10010], r[10010];

int main()

for(int i = 0; i < query; ++i)

else if(ope == 'b')

else

printf("%d\n", x ? r[y] : l[y]);

} }return 0;

}

NYOJ 511 移動小球

這道題很容易想到要構建乙個迴圈鍊錶來確定每個球的相對位置,就是操作比較繁瑣,考慮情況較多。首先要建立節點node,每個節點都有乙個初始順序order,指向左邊的node 指標left,何指向右邊的node 指標right。cpp view plain copy print?struct node n...

nyoj 511 移動小球(鍊錶的簡單使用)

描述 給你n個小球,從左到右編號依次為1,2,3,4,5,6.n,並規定小球1的左邊的球號為n,小球n的右邊的球號為1.現在有以下3種操作 a x y表示把編號為x小球移動到編號為y的小球的左邊,b x y表示把編號為x小球移動到編號為y的小球的右邊,q 1 m為詢問編號為m的小球右邊的球號,q 0...

ny511 移動小球

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述給你n個小球,從左到右編號依次為1,2,3,4,5,6.n,並規定小球1的左邊的球號為n,小球n的右邊的球號為1.現在有以下3種操作 a x y表示把編號為x小球移動到編號為y的小球的左邊,b x y表示把編號為x小球移動到編號為...