水 山理第十一屆ACM校賽 E九連環 遞迴模擬

2021-09-23 18:13:02 字數 1101 閱讀 2036

不知道大家有沒有玩過乙個叫做 九連環 的玩具,如下圖所示。

如果你不了解九連環,那玄黃就帶你領略九連環的奧妙: 

九連環是我國傳統的民間智力玩具,玩具上面有九個連環套在杆上,目標就是通過一定的方式將九個連環從桿上全部取下來。 

玩法是這樣的: 

1、對每個環,有2種操作:把這個環放到桿上或把這個環從杆上取下 

2、你可以隨意的對第1個環進行操作 

3、如果你想對第i個環(i>1)進行操作,你必須將第i-1個環放在桿上,且必須把前i-2個環從杆上取下

輸入乙個整數n ( 0輸出把所有連環取下來的最少操作步驟,每一步佔一行,輸出乙個整數i和操作」up」或者」down」,代表將第i個環放到桿上或從杆上取下來,整數和操作用空格分開。詳情見示例輸出。

4
2 down

1 down

4 down

1 up

2 up

1 down

3 down

1 up

2 down

1 down

一看就知道是乙個簡單的遞迴,可能是個人比較菜的原因,感覺實現起來略微有點複雜= =

#include #include #include #include #include #include using namespace std;

int a[20]; //記錄當前環的狀態,0表示未取下

void f(int x,int y) // 第x個環要進行y操作,y==0表示要將其取下

if(x == 1)

else if(y==0 && a[x]==0)

return ;

}// 剩下的位置上的環

if(a[x-1])

for(int i=x-2; i>0; i--)

}if(y==1 && a[x]==1)

else if(y==0 && a[x]==0)

}int main()

}return 0;

}

河南省第十一屆ACM總結

今天在信陽師範打完了acm。有點遺憾,差一題拿金吧。從去年的打鐵到今年的銀牌,也成長了很多,也學會了很多東西,感謝我的隊友帶我拿銀。都盡力了,有點小遺憾,但是不後悔吧。沒有過多的罰時,只是在時間分配上還不是很合理。我不知道我還能不能再打一次,如果可以,希望能拿金吧。今年也出了乙個新的突破題吧。是我刷...

山理校賽 E 九連環

problem description 不知道大家有沒有玩過乙個叫做 九連環 的玩具,如下圖所示。如果你不了解九連環,那玄黃就帶你領略九連環的奧妙 九連環是我國傳統的民間智力玩具,玩具上面有九個連環套在杆上,目標就是通過一定的方式將九個連環從桿上全部取下來。玩法是這樣的 1 對每個環,有2種操作 把...

第十一屆河南省賽 修路

時間限制 3 sec 記憶體限制 128 mb 提交 7 解決 5 提交 狀態 討論版 命題人 外部匯入 edit testdata snj位於hb省西部一片群峰聳立的高大山地,橫亙於a江 b水之間,方圓數千平方公里,相傳上古的神醫在此搭架上山採藥而得名。景區山峰均在海拔3000公尺以上,堪稱 華中...