時間限制: 1 s
空間限制: 32000 kb
題目等級 : ** gold
description
【抱歉資料錯誤~~已修復】歐盟簡直是太貪心了。繼完成與蘇聯的合作滅了尤里之後,繼續與蘇聯交戰。可惜的是,在這期間,傳說中的小日本(旭日帝國·昇陽帝國)居然強大起來了。盟軍重新與蘇聯合作,準備殲滅日本。在小愛(愛因斯坦)之後,不少盟軍的傑出科學家合作發明了閃電風暴二代:質子撞擊炮。它的好處就是冷卻時間短,威力大。每當一次攻擊過後,五發質子能量炮彈一齊落在敵人基地裡,造成毀滅性的打擊。缺點就是,炮彈先打到外太空再掉進敵人家中,飛的時間太長了。盟軍老大迫不及待的想知道這次攻擊能毀掉日本多少建築物,請你程式設計幫忙算一下。資料詳見輸入描述。
輸入描述
input description
輸入的第一行n,表示敵方陣營的大小。輸入的第2~n+1,表示輸入乙個敵方陣營圖。陣營圖中每個元素由0-9組成。0表示沒有建築物,其餘數字表示當前建築物的血量值。(預設每個建築物佔乙個方格)。
輸入的接下來五行,表示五發質子能量炮彈的落點中心,表示落點在笛卡爾座標系的某個點上。質子能量炮彈對中心造成2點傷害,對以該點為九宮格中心的其他八個方格造成一點傷害。如果某個點的建築物血量被轟擊至0或更低,則稱這個建築物被擊毀。
輸出描述
output description
僅一行,被擊毀的建築物數量。
樣例輸入
sample input
0 3 1 2 41 3 4 1 0
0 0 3 4 1
1 3 4 5 0
0 0 9 0 0
1 22 2
4 34 3
2 4
樣例輸出
sample output
資料範圍及提示
data size & hint
(點a,點b)表示第a行第b列
原題有誤,我更正一下。
順便加強了資料(最大1000*1000的鄰接矩陣);
1 #include2 int x,y;3 int n;
4 int a[1000+10][1000+10];
5 bool b[1000+10][1000+10];
6 int dx[10]=;
7 int dy[10]=;
8 void daji(int x,int y)
9
14 int main()
15
23 for(int i=1;i<=5;i++)
24
28 int ans=0;
29 for(int i=1;i<=n;i++)
30 for(int j=1;j<=n;j++)
31 if(a[i][j]<=0&&b[i][j]==true)
32 ans++;
33 printf("%d",ans);
34 return 0;
35 }
hdu 3061 最大流最小割
題目 中文題 最小割,增加源和匯,把源與權為正的點連上界為該點權值的邊,權為負的點與匯連上上界為該點權值相反數的邊,然後如果攻占a必須先佔b,則連上權值無窮的邊a b,所有正值之和減去最大流,即答案。include include include include includeusing names...
HDU 3061 Battle 最大權閉合
題目大意 由於小白同學近期習武十分刻苦,很快被晉公升為天策軍的統帥。而他上任的第一天,就面對了一場極其困難的戰鬥 據偵查兵回報,前方共有n座城池,考慮到地勢原因,最終得到乙個結論 攻占某些城池之前必須攻占另外一些城池。事實上,可以把地圖看做是一張拓撲圖,而攻占某個城池,就意味著必須先攻占它的所有前驅...
poj 3061 二分 or 尺取法
傳送門 problem 3061 馬上就要去上課了,先獻上二分ac 其餘的有空再補 題意 給定長度為 n 的整數數列 a 0,1,2,n 以及整數 s。求出總和不小於 s 的連續子串行的長度的最小值。如果解不存在,則輸出 0。題解 1 二分 由於所有的元素都大於 0 所以陣列a 的字首和sum 為遞...