人工智慧實驗室寒假集訓 Day4

2021-10-16 08:59:43 字數 1281 閱讀 4796

普及題:

提高題:

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與產綜研將...