題目連結: https://zerojudge.tw/ShowProblem?problemid=d039
# 內容
給你一個 n 列 m 行的格子代表尼斯湖,6 ≤ n, m ≤ 10000,找出最少要放幾個聲納才能控制所有的方格,條件如下:
- 一個聲納佔一格;它的監控範圍為所在的那一格及緊鄰的格子;
- 邊緣的格子不需要監控,因為尼斯怪太大了,無法蔵在那兒。
# 輸入
輸入的第一行有一個整數,t,代表測試筆數。每筆測資一行,含有兩個由空白分開的數字,6 ≤ n, m ≤ 10000,也就是格子的大小 (n 列 m 行)。
# 輸出
每筆測資輸出一行,顯示符合上述條件的最小數字。
# 解題思路
因為一列有 n 個,所以一列之中至少只需要放 n / 3 個就夠了
同理,行也一樣,行也只需放 m / 3 就夠了
# 程式碼
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
int m,n,t; | |
cin>>t; | |
while(t--) | |
{ | |
cin>>m>>n; | |
cout<<(m/3)*(n/3)<<endl; | |
} | |
} |