題目
連結
LeetCode 1812[判斷國際象棋棋盤中一個格子的顏色]
詳情
例項
提示
題解
思路
8 * 8的格子,數量不多,所以我採用的是列舉法
a,c,e,g 列的 1,3,5,7 行是黑色,輸出 false,而 2,4,6,8 行是白色,輸出 true
b,d,f,h 列的 2,4,6,8 行是黑色,輸出 false,而 1,3,5,7 行是白色,輸出 true
記 a,c,e,g 列,第一列;b,d,f,h 列,第二列
記 1,3,5,7 行,第一行;2,4,6,8 行,第二行
首先判斷字串的首字元是否屬於第一列:
屬於第一列:
再判斷字串的末尾字元是否屬於第一行:
屬於第一行:為黑色,輸出 false
不屬於第一行:為白色,輸出 true
不屬於第一列:
再判斷字串的末尾字元是否屬於第一行:
屬於第一行:為白色,輸出 true
不屬於第一行:為黑色,輸出 false
程式碼
class Solution {
public:
bool squareIsWhite(string coordinates) {
if (('a' == coordinates[0]) || ('c' == coordinates[0]) ||
('e' == coordinates[0]) || ('g' == coordinates[0]))
{
if (('1' == coordinates[1]) || ('3' == coordinates[1]) ||
('5' == coordinates[1]) || ('7' == coordinates[1]))
return false;
return true;
}
if (('1' == coordinates[1]) || ('3' == coordinates[1]) ||
('5' == coordinates[1]) || ('7' == coordinates[1]))
return true;
return false;
}
};