BACO - Bàn cờ
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin
Cho một bàn cờ vua có kích thước 8 hàng 8 cột. Trên bàn cờ có 01 quân xe và 01 quân tượng. Quân xe có thể kiểm soát được đường dọc và đường ngang mà nó đang đứng, kể cả ô vị trí của quân xe. Quân tượng có thể kiểm soát được hai đường chéo mà nó đang đứng, kể cả ô vị trí của quân tượng. Khác với cờ vua bình thường, quân xe và quân tượng trong bài toán này có một đặc điểm là nó không thể bị cản (xem ví dụ để hiểu rõ thêm).
Yêu cầu: Cho vị trí của quân xe và quân tượng trên bàn cờ. Hãy xác định tổng số ô mà quân tượng và quân xe này kiểm soát.
Dữ liệu vào: gồm bốn số nguyên Xd, Xc, Td, Tc mỗi số được ghi cách nhau một khoảng trắng, trong dó Xd và Xc là vị trí dòng và vị trí cột của quân xe, Td và Tc là vị trí dòng và vị trí cột của quân tượng. Dữ liệu cho đảm bảo 1 ≤ Xd, Xc, Td, Tc ≤ 8, đảm bảo quân xe và quân tượng không nằm cùng vị trí.
Dữ liệu ra: là một số nguyên dương là tổng số các ô mà quân tượng và quân xe kiểm soát.
Ví dụ
- input4 3 6 5output24
- input3 2 3 6output25
- input1 1 2 8output22
- Solution :
- #include<iostream>using namespace std;int main (){int a,b,c,d;cin >> a >> b >> c >> d;int danhDau[8][8];for(int i = 0;i<8;i++){for(int j = 0;j<8;j++){if(i==a-1 || j==b-1 || i+j == c+d-2 || i-j == c-d) danhDau[i][j] = 1;else danhDau[i][j] = 0;}}int dem = 0;for(int i = 0;i<8;i++){for(int j =0;j<8;j++){if(danhDau[i][j]==1) dem++;}}cout << dem;}
Nhận xét
Đăng nhận xét