#40921: 要塗的地方可以這樣算


zhoudaniel02@gmail.com (周孝倫)

學校 : 銘傳大學
編號 : 235507
來源 : [120.125.89.13]
最後登入時間 :
2024-10-04 15:44:35
o077. 2. 電子畫布 -- 2024年6月APCS | From: [223.139.134.128] | 發表日期 : 2024-06-18 10:50

只需要圈出可能會有塗到的位置(從中心擴展出time*2方形,在方形內尋找要塗的地方(要catch溢出邊界)

for(int i=0;i<t;i++) {

int x=sc.nextInt(),y=sc.nextInt(),time=sc.nextInt(),data=sc.nextInt();

for(int j=x-time;j<=x+time;j++)

for(int k=y-time;k<=y+time;k++)

try {

arr[j][k]+=Math.abs(y-k)+Math.abs(x-j)<=time?data:0;

}

catch(Exception e) {}

}

 
ZeroJudge Forum