基礎題,暴力搜尋即可,詳細見注釋。
#include using namespace std;
const int maxm = 5005;
struct soldier //士兵
s[maxm];
int main()
int total = m; //隊伍中剩餘人數
int interval = 2; //報數間隔
int now = 0; //當前報數
while (total > 3)
}now = 0;
total = 0;
for (int i = 1; i <= m; i++) //計算剩餘人數
if (interval == 2) //更改報數間隔
interval = 3;
else
interval = 2;
} int temp = 1; //當前輸出人數
for (int i = 1; i <= m; i++)
else
cout << s[i].num << endl;
}} }
return 0;
}
繼續加油。 HDU1276 士兵佇列訓練問題
problem description 某部隊進行新兵佇列訓練,將新兵從一開始按順序依次編號,並排成一行橫隊,訓練的規則如下 從頭開始一至二報數,凡報到二的出列,剩下的向小序號方向靠攏,再從頭開始進行一至三報數,凡報到三的出列,剩下的向小序號方向靠攏,繼續從頭開始進行一至二報數。以後從頭開始輪流進行...
HDU 1276 士兵佇列訓練問題
problem description 某部隊進行新兵佇列訓練,將新兵從一開始按順序依次編號,並排成一行橫隊,訓練的規則如下 從頭開始一至二報數,凡報到二的出列,剩下的向小序號方向靠攏,再從頭開始進行一至三報數,凡報到三的出列,剩下的向小序號方向靠攏,繼續從頭開始進行一至二報數。以後從頭開始輪流進行...
HDU1276 士兵佇列訓練問題
hdu 1276 某部隊進行新兵佇列訓練,將新兵從一開始按順序依次編號,並排成一行橫隊,訓練的規則如下 從頭開始一至二報數,凡報到二的出列,剩下的向小序號方向靠攏,再從頭開始進行一至三報數,凡報到三的出列,剩下的向小序號方向靠攏,繼續從頭開始進行一至二報數。以後從頭開始輪流進行一至二報數 一至三報數...