欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

PKU 1549/TJU 1927/NK 1420 Bright Bracelet

系統(tǒng) 1724 0

Time Limit: 3000 ms ?? Memory Limit: 10000 kB?? ?
Total Submit : 2 ? (1 user) ??? Accepted Submit : 2 ? (1 user) ??? Page View : 1582 ?

??? 本題其實(shí)并不難,就是記憶搜索,但是好多人都沒(méi)做。最難的估計(jì)就是狀態(tài)的存儲(chǔ),一開(kāi)始的時(shí)候我用的是三維數(shù)組存儲(chǔ),雖然在TJU和NK上都過(guò)了,但是在北大上確實(shí)WRONG,后來(lái)我又重新開(kāi)了一遍發(fā)現(xiàn)確實(shí)存在錯(cuò)誤,后來(lái)將數(shù)組開(kāi)到四維才在北大上順利通過(guò)。因?yàn)楸绢}我竟然成了NK上第一個(gè)提交此題并A的人。值得留念!

代碼:

?

      
1 #include < stdio.h >
2 #include < string .h >
3 ? char end,str[ 15 ][ 10 ];
4 int n,dp[ 2050 ][ 10 ][ 10 ][ 10 ],mark[ 15 ],a[ 10 ];
5 int test( int sum, char u, char f, int c)
6 {
7 int term,i,j,min = 0xfffffff ;
8 if (dp[sum][u - ' A ' + 1 ][f - ' A ' + 1 ][end - ' A ' + 1 ] != 0 )
9 return dp[sum][u - ' A ' + 1 ][f - ' A ' + 1 ][end - ' A ' + 1 ];
10 if (c == n)
11 {
12 if (f == end)
13 return a[(f - ' A ' ) + 1 ];
14 return - 1 ;
15 }
16 for (i = 2 ;i <= n;i ++ )
17 {
18 if (mark[i])
19 continue ;
20 mark[i] = 1 ;
21 for (j = 0 ;j < 8 ;j ++ )
22 {
23 if (f == str[i][j])
24 {
25 term = test(sum - ( 1 << (i - 1 )),f,str[i][(j + 4 ) % 8 ],c + 1 );
26 dp[sum - ( 1 << (i - 1 ))][f - ' A ' + 1 ][str[i][(j + 4 ) % 8 ] - ' A ' + 1 ][end - ' A ' + 1 ] = term;
27 if (term !=- 1 )
28 {
29 if (term + a[f - ' A ' + 1 ] < min)
30 min = term + a[f - ' A ' + 1 ];
31 }
32 }
33 }
34 mark[i] = 0 ;
35 }
36 if (min == 0xfffffff )
37 return - 1 ;
38 return min;
39 }
40
41 int main()
42 {
43 int i,min,term,sum;
44 while (scanf( " %d " , & n) != EOF)
45 {
46 if (n == 0 )
47 break ;
48 min = 0xfffffff ;
49 memset(mark, 0 , sizeof (mark));
50 memset(dp, 0 , sizeof (dp));
51 for (i = 1 ;i <= 8 ;i ++ )
52 {
53 scanf( " %d " , & a[i]);
54 }
55 for (i = 1 ;i <= n;i ++ )
56 {
57 scanf( " %s " ,str[i]);
58 }
59 mark[ 1 ] = 1 ;
60 sum = ( 1 << n) - 1 ;
61 for (i = 0 ;i < 4 ;i ++ )
62 {
63 end = str[ 1 ][(i + 4 ) % 8 ];
64 term = test(sum - 1 ,str[ 1 ][(i + 4 ) % 8 ],str[ 1 ][i], 1 );
65 dp[sum - 1 ][end - ' A ' + 1 ][str[ 1 ][i] - ' A ' + 1 ][end - ' A ' + 1 ] = term;
66 if (term !=- 1 )
67 {
68 if (term < min)
69 min = term;
70 }
71 }
72 if (min != 0xfffffff )
73 {
74 printf( " %d\n " ,min);
75 }
76 else
77 printf( " impossible\n " );
78 }
79 return 0 ;
80 }
81
82
83

?

PKU 1549/TJU 1927/NK 1420 Bright Bracelet


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 免费亚洲黄色 | 色秀视频免费高清网站 | 国产一区二区久久久 | 国产精品三级国语在线看 | 五月婷婷激情 | 成人久久18免费游戏网站 | 亚洲精品在线视频观看 | 亚洲欧美在线观看视频 | 欧美一级欧美三级 | 亚洲AV久久久久久久无码 | 日本黄大片影院一区二区 | 欧洲中文字幕 | 久久精品亚洲精品国产欧美kt∨ | 亚洲综合国产 | 国产精品人妻无码久久久郑州 | 国产香蕉视频在线观看 | 天堂va在线高清一区 | 久久99国产综合精品 | 国产一区亚洲一区 | 国产精品亚洲成在人线 | 日韩欧美一区二区三区不卡在线 | 亚洲欧美另类日韩 | 国产亚洲欧美在线 | 亚洲国产精品无码AV久久久 | 国产欧美一区二区三区精品 | 久久综合九色综合欧美狠狠 | 亚洲国产精品一区二区三区久久 | 欧美伊人久久 | 亚洲欧美视频 | 99热久久66是国产免费 | 国产91福利在线精品剧情尤物 | 亚洲狼人综合干 | 亚洲宗合 | 色吊妞| 日韩欧美国产一区二区 | 91精品国产高清一区二区三区 | 亚洲成网站www久久九 | 成年在线视频免费视频观看 | 欧美午夜视频一区二区三区 | 丝袜美腿视频一区二区三区 | 一区二区三区国产在线 |