小南有一套可愛的玩具小人,它們各有不同的職業。有一天,這些玩具小人把小南的眼鏡藏了起來。小南發現玩具小人們圍成了乙個圈,它們有的面朝國內,有的面朝圈外。如下圖:
這時singer告訴小南乙個謎題:「眼鏡藏在我左數第3個玩具小人的右數第1個玩具小人的左數第2個玩具小人那裡。」
小南發現,這個謎題中玩具小人的朝向非常關鍵,因為朝內和朝外的玩具小人的左右方向是相反的:面朝圈內的玩具小人,它的左邊是順時針方向,右邊是逆時針方向;而面向圈外的玩具小人,它的左邊是逆時針方向,右邊是順時針方向。
小南一邊艱難地辨認著玩具小人,一邊數著:
「singer朝內,左數第3個是archer。
「archer朝外,右數第1個是thinker。
「thinker朝外,左數第2個是writer。
「所以眼鏡藏在writer這裡!」
有n個玩具小入圍成一圈,己知它們的職業和朝向。現在第1個玩具小人告訴小南乙個包含m條指令的謎題,其中第i條指令形如「左數/右數第si個玩具小人」。你需要輸出依次數完這些指令後,到達的玩具小人的職業。
從檔案中讀入資料。
輸入的第一行包含兩個正整數n,m,表示玩具小人的個數和指令的條數。
接下來n行,每行包含乙個整數和乙個字串,以逆時針為順序給出每個玩具小人的朝向和職業。其中0表示朝向圈內,1表示朝向圈外。保證不會出現其他的數。字串長度不超過10且僅由小寫字母構成,字串不為空,並且字串兩兩不同。整數和字串之間用乙個空格隔開。
接下來m行,其中第i行包含兩個整數ai,si,表示第i條指令。若ai=0,表示向左數si個人;若ai=1,表示向右數si個人。保證ai不會出現其他的數,1
輸出到檔案中。
輸出乙個字串,表示從第乙個讀入的小人開始,依次數完m條指令後到達的小人的職業
7 30 singer
0 reader
0 mengbier
1 thinker
1 archer
0 writer
1 mogician
0 31 1
0 2
writer這組資料就是【題目描述】中提到的例子。
10 101 c0 r
0 p1 d
1 e1 m
1 t1 y
1 u0 v
1 71 1
1 40 5
0 30 1
1 61 2
0 80 4
y子任務會給出部分測試資料的特點。如果你在解決題目中遇到了困難,可以嘗試只解決一部分測試資料。
每個測試點的資料規模及特點如下表:
其中一些簡寫的列意義如下:
·全朝內:若為「√」,表示該測試點保證所有的玩具小人都朝向圈內;
·全左數:若為「√」,表示該測試點保證所有的指令都向左數,即對任意的 1·si=1:若為「√」,表示該測試點保證所有的指令都隻數1個,即對任意的 1≤i≤m, si=1;
·職業長度為1:若為「√」,表示該測試點保證所有玩具小人的職業一定是乙個 長度為1的字串。
純模擬啊。。。。
要是今年的noip還出這樣的題就好了!
1 #include2 #include3 #include4 #include5using
namespace
std;
6const
int maxn=100001;7
intn,m,how,step;
8struct
node
9a[maxn];
13int read(int &n)
1421
intmain()
2236
intwhere=1;37
for(int i=1;i<=m;++i)
3850
else
if(a[where].to==1)//
向外 5156}
57else
//向右數
5865
else
6671}72
}73 cout
].name;
74return0;
75 }
2556 NOIP2016 玩具謎題
小南有一套可愛的玩具小人,它們各有不同的職業。有一天,這些玩具小人把小南的眼鏡藏了起來。小南發現玩具小人們圍成了乙個圈,它們有的面朝國內,有的面朝圈外。如下圖 這時singer告訴小南乙個謎題 眼鏡藏在我左數第3個玩具小人的右數第1個玩具小人的左數第2個玩具小人那裡。小南發現,這個謎題中玩具小人的朝...
NOIP 2016 玩具謎題
洛谷傳送門 jdoj傳送門 小南有一套可愛的玩具小人,它們各有不同的職業。有一天,這些玩具小人把小南的眼鏡藏了起來。小南發現玩具小人們圍成了乙個圈,它們有的面朝圈內,有的面朝圈外。如下圖 這時singer告訴小南乙個謎題 眼鏡藏在我左數第3個玩具小人的右數第1個玩具小人的左數第2個玩具小人那裡。小南...
NOIp2016 玩具謎題
題目鏈結 小南有一套可愛的玩具小人,它們各有不同的職業。有一天,這些玩具小人把小南的眼鏡藏了起來。小南發現玩具小人們圍成了乙個圈,它們有的面朝圈內,有的面朝圈外。如下圖 這時singer告訴小南乙個謎題 眼鏡藏在我左數第3個玩具小人的右數第1個玩具小人的左數第2個玩具小人那裡。小南發現,這個謎題中玩...