日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝桥杯三体攻击

發布時間:2024/1/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯三体攻击 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

標題:三體攻擊

【題目描述】
三體人將對地球發起攻擊。為了抵御攻擊,地球人派出了 A?×?B?×?C 艘戰艦,在太空中排成一個 A 層 B 行 C 列的立方體。其中,第 i 層第 j 行第 k 列的戰艦(記為戰艦 (i,?j,?k))的生命值為 d(i,?j,?k)。

三體人將會對地球發起 m 輪“立方體攻擊”,每次攻擊會對一個小立方體中的所有戰艦都造成相同的傷害。具體地,第 t 輪攻擊用 7 個參數 lat,?rat,?lbt,?rbt,?lct,?rct,?ht 描述;
所有滿足 i?∈?[lat,?rat],j?∈?[lbt,?rbt],k?∈?[lct,?rct] 的戰艦 (i,?j,?k) 會受到 ht 的傷害。如果一個戰艦累計受到的總傷害超過其防御力,那么這個戰艦會爆炸。

地球指揮官希望你能告訴他,第一艘爆炸的戰艦是在哪一輪攻擊后爆炸的。

【輸入格式】
從標準輸入讀入數據。
第一行包括 4 個正整數 A,?B,?C,?m;
第二行包含 A?×?B?×?C 個整數,其中第 ((i???1)×B?+?(j???1))?×?C?+?(k???1)+1 個數為 d(i,?j,?k);
第 3 到第 m?+?2 行中,第 (t???2) 行包含 7 個正整數 lat,?rat,?lbt,?rbt,?lct,?rct,?ht。

【輸出格式】
輸出到標準輸出。
輸出第一個爆炸的戰艦是在哪一輪攻擊后爆炸的。保證一定存在這樣的戰艦。

【樣例輸入】
2 2 2 3
1 1 1 1 1 1 1 1
1 2 1 2 1 1 1
1 1 1 2 1 2 1
1 1 1 1 1 1 2

【樣例輸出】
2

【樣例解釋】
在第 2 輪攻擊后,戰艦 (1,1,1) 總共受到了 2 點傷害,超出其防御力導致爆炸。

【數據約定】
對于 10% 的數據,B?=?C?=?1;
對于 20% 的數據,C?=?1;
對于 40% 的數據,A?×?B?×?C,?m?≤?10,?000;
對于 70% 的數據,A,?B,?C?≤?200;
對于所有數據,A?×?B?×?C?≤?10^6,?m?≤?10^6,?0?≤?d(i,?j,?k),?ht?≤?10^9。

資源約定:
峰值內存消耗(含虛擬機) < 256M
CPU消耗 < 3000ms

請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入…” 的多余內容。

所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
不要使用package語句。不要使用jdk1.7及以上版本的特性。
主類的名字必須是:Main,否則按無效代碼處理。

java代碼

暴力解

import java.util.Scanner;public class Main {static int[][][] data;static int A, B, C, m;static Scanner sc;public static void main(String[] args) {sc = new Scanner(System.in);A = sc.nextInt();B = sc.nextInt();C = sc.nextInt();m = sc.nextInt();data = new int[A + 1][B + 1][C + 1];for (int i = 1; i < data.length; i++) {for (int j = 1; j < data[i].length; j++) {for (int k = 1; k < data[i][j].length; k++) {data[i][j][k] = sc.nextInt();}}}for (int i = 0; i < m; i++) {if (solve()) {System.out.println(i + 1);return;}}sc.close();}private static boolean solve() {int la = sc.nextInt();int ra = sc.nextInt();int lb = sc.nextInt();int rb = sc.nextInt();int lc = sc.nextInt();int rc = sc.nextInt();int ht = sc.nextInt();for (int i = la; i <= ra; i++) {for (int j = lb; j <= rb; j++) {for (int k = lc; k <= rc; k++) {data[i][j][k] -= ht;if (data[i][j][k] < 0) {return true;}}}}return false;} }

總結

以上是生活随笔為你收集整理的蓝桥杯三体攻击的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。