題目大意:
不同的人在不同的隊伍裡,插入鍊錶的時候如果這個煉表裡有他的隊友,就把它放到最後乙個隊友的最後,如果沒有隊友,就把它放到整個鍊錶的最後面。
出鍊錶的時候把第乙個人拿出來。
思路分析:
要模擬這個鍊錶就要記錄這整個鍊錶中的隊伍存在的情況。
所以要再開乙個鍊錶的頭指標和尾指標,在整個大的鍊錶中再模擬小區域的鍊錶。
然後就是deque部分,也就是注意head的判斷以及更新。
#include #include #include #include #include #include #define maxn 222222
using namespace std;
struct node
list[maxn];
int head[1111];
int tail[1111];
int vis[1111111];
int quenext[1111111];
int listhead;
int listtail;
void print()
puts("");
}int main()
{ int n;
int case=1;
while(scanf("%d",&n)!=eof && n)
{memset(vis,0,sizeof vis);
for(int i=1;i<=n;i++)
{int t;
scanf("%d",&t);
for(int j=0;j
HDU 1387(又是一天一題系列)
看了好久好久的題目,沒看懂,終於靈光一現,題目意思是有t個隊伍,誰和誰是乙個隊的先告訴你,現在有乙個新佇列,如果執行 enqueue x 的操作,這個佇列裡面已經有這個小隊的成員在裡面,就直接插到小隊的末尾,如果沒有,那就排在這個佇列的最後乙個,所以第乙個插入操作一定是第二種情況,即佇列裡面沒有你的...
1387 素數(函式專題)
題目描述 輸入兩個正整數m和n,輸出m和n之間的所有素數。要求程式定義乙個prime 函式和乙個main 函式,prime 函式判斷乙個整數n是否是素數,其餘功能在main 函式中實現。int prime int n 輸入輸入兩個正整數m和n,m n,且都在int範圍內。輸出輸出佔一行。輸出m和n之...
1387 搭配購買 buy
題目描述 joe覺得雲朵很美,決定去山上的商店買一些雲朵。商店裡有n朵雲,雲朵被編號為1,2,n,並且每朵雲都有乙個價值。但是商店老闆跟他說,一些雲朵要搭配來買才好,所以買一朵雲則與這朵雲有搭配的雲都要買。但是joe的錢有限,所以他希望買的價值越多越好。輸入 第1行n,m,w,表示n朵雲,m個搭配,...