普及題:
提高題:
zzulioj 1991: 回形取數
按著題意模擬即可,有很多解決方法。
我的思路是:從左上角開始,沿著直線向下走,走到邊界盡頭向左拐,繼續直走,走到邊界盡頭再左拐。直到所有路徑都走過(即左拐後也無法繼續走的時候)即可。可以用乙個陣列標記是否走過,或者用四個變數標記邊界。
#include
using
namespace std;
int arr[
205]
[205];
int vis[
205]
[205];
int d[4]
=;int f[4]
=;// d,f 控制遍歷的方向。
// 0時x軸座標加一,y軸不變,相當於向下走 1:向右 2:向上 3:向左
intmain()
}int x =
0, y =
0, sign =
0, x1, y1;
while(1
) x1 = x + d[sign]
; y1 = y + f[sign]
;// 如果直走可以
if(x1 >=
0&& y1 >=
0&& x1 < m && y1 < n && vis[x1]
[y1]==0
)else
else}}
}
zzulioj 1397: 迷宮問題
題目要求只能向下或者向右走,只用考慮這兩種情況就行,並且不需要用陣列標記是否經過過,因為只向下或者向右走不會走重複的路。m,n都小於等於10,所以可以用dfs。
大致思路是:用char陣列存地圖資訊,dfs遍歷每條路徑,遇到牆則不能經過,到終點時路徑數加一。
不熟練的可以多找一點類似的題,或者在網上找一下相關**。
#include
using
namespace std;
char arr[15]
[15];
int d[2]
=;int f[2]
=;int ans;
void
dfs(
int n,
int m,
int x,
int y)
else}}
}int
main()
dfs(n, m,0,
0); cout << ans << endl;
}}
人工智慧實驗室寒假集訓 Day9
普及題 提高題 根據題目的意思 其中乙個字串進行至少n次迴圈移位後,得到另外乙個字串。可以知道兩個字串的內容是相同的。把字串想象成首尾相連,只用判斷這個字串順時針移動次數最少,還是逆時針移動的次數最少。具體方法 取字串1的首字元str1 0 在第二個字串中尋找這個字元的位置index,順時針移動的次...
寒假 福州集訓 Day4
後補的.這天的早上仍然考試,沒有爆零的我簡直興奮。t1 資料我覺得有點大 做不來 就準備拿個暴力分 直接用了遞迴 我想了很多辦法優化 包括儲存加數的方法數什麼的 但是都沒有成功 所以我最後只拿了20的暴力分 t2 是我沒考慮周全 沒有考慮 兩點在同一位置的時候線路最短的情況 只是單純的分別找了兩個點...
NEC人工智慧聯合實驗室成立
6月1日起,日本電氣株式會社 簡稱nec 與日本國立研究開發法人產業技術綜合研究所 簡稱產綜研 將在產綜研人工智慧研發中心聯合設立 產綜研 ec人工智慧聯合實驗室 該實驗室旨在通過共同合作的方式來加速人工智慧 簡稱ai 相關的研發。此實驗室是首個企業冠名的產綜研實驗室。通過該實驗室,nec與產綜研將...