洛谷 P1540 烏龜棋

2021-09-02 07:33:19 字數 693 閱讀 5958

第一感覺是定義狀態f[n][i][j][k][kk],但這樣空間和時間都承受不下。我們可以設狀態為f[i][j][k][kk],這樣可以省掉乙個n,因為我們依據行走步數可以直接算出行走距離.

code:

#include

#include

using

namespace

std;

const

int maxn = 42;

long

long f[maxn][maxn][maxn][maxn];

int val[400], steps[10];

inline

int dist(int a,int b,int c,int d)

int main()

f[0][0][0][0] = val[0];

for(int i = 0;i <= steps[1]; ++i)

for(int j = 0;j <= steps[2];++j)

for(int k = 0;k <= steps[3]; ++k)

for(int kk = 0; kk <= steps[4]; ++kk)

printf("%lld",f[steps[1]][steps[2]][steps[3]][steps[4]]);

return

0;}

洛谷 P1540 機器翻譯

小晨的電腦上安裝了乙個機器翻譯軟體,他經常用這個軟體來翻譯英語文章。這個翻譯軟體的原理很簡單,它只是從頭到尾,依次將每個英文單詞用對應的中文含義來替換。對於每個英文單詞,軟體會先在記憶體中查詢這個單詞的中文含義,如果記憶體中有,軟體就會用它進行翻譯 如果記憶體中沒有,軟體就會在外存中的詞典內查詢,查...

洛谷 P1540 機器翻譯

小晨的電腦上安裝了乙個機器翻譯軟體,他經常用這個軟體來翻譯英語文章。這個翻譯軟體的原理很簡單,它只是從頭到尾,依次將每個英文單詞用對應的中文含義來替換。對於每個英文單詞,軟體會先在記憶體中查詢這個單詞的中文含義,如果記憶體中有,軟體就會用它進行翻譯 如果記憶體中沒有,軟體就會在外存中的詞典內查詢,查...

洛谷P1540 機器翻譯

題目鏈結 題意 計算機有m個記憶體,每個記憶體可以存乙個單詞,如果計算機記憶體裡儲存某些單詞,則不需要向外界搜尋,如果有新的單詞,計算機就會把記憶體中第乙個單詞刪除並新增這個新的單詞,現在要你求總共需要新增多少個,一開始內容為空。思路 開乙個vector容器,每次遍歷即可,主要想練練vector。w...