這個題資料小,所以我們暴力可解,思路是這樣的: heng[ i ] [ j ] 一旦是 1 , 就意味著,在( i,j )這個點出發有個 向右的線。 zhi 同理,向下的線。然後列舉所有邊的情況,一旦judge 函式在某個點,找到了某個 以 len 為邊的 完整的方形(len,x,y),就返回1
1 #include2using
namespace
std;34
int zhi[11][11],heng[11][11
]; 5
int len[11];6
int judge(int len,int x,int
y)17
return
1; //都走完了,成立18}
1920
intmain()
34if(c=='
v') heng[t2][t1]=1
; //注意,我說的紫書錯的地方就在這裡,你如果按劉老師寫的,那是 heng[t1][t2]=1,我一直卡這裡,後來改成符合原題的,ac35}
3637
if(con!=1) printf("
\n**********************************\n\n");
38for(int i=1;i<=n;i++)
4748}49
}50}51
52int flag=0;53
54 printf("
problem #%d\n\n
",con);
55for(int i=1;i<=n;i++)
56if(len[i]!=0)60
if(flag==0
)61 printf("
no completed squares can be found.\n");
62}63 }
紫書 習題 9 8 uva1632
題意 有n個寶藏,每個都在乙個位置p i 在規定的時間t i 就會消失。阿里巴巴要在寶藏消失前收集齊所有寶藏,問 有方法嗎?有的話最少多少秒?思路 開始想的是用狀態轉移方程來乙個個判斷,不好寫。看了題解知道在一段區間 l,r 要使時間最短必須從端點出來,然後果斷寫了乙個記憶化搜尋,tle了。再看題解...
紫書 習題 9 8 uva 10163
解題感想 好久沒刷題了,自己連揹包dp都差不多忘了。題目看著很複雜,可以將問題分解來看,和高中數學題的感覺一樣 1.求任意一組組合的最小的保護值 的最大值 2.求在改最大組合的情況下的,求最小的工資和,和某圖論一樣的思路。解題思路 第乙個揹包 任意組合 抽象成模板 在n個應聘者中選x人使得看守m個倉...
第三十五題 UVA201 正方形 Squares
pdf 題目描述 乙個兒童棋盤遊戲,包含了由點組成的正方形矩陣,由線段連線了一些相鄰的點。遊戲的乙個環節是,要求玩家數出由這些線段所形成的特定大小的正方形有多少個。例如,按下圖所示,有 3 個正方形,其中大小為 1 的有 2 個,大小為 2 的有 1 個。正方形的 大小 是指構成它的一條邊的線段數。...