#include <bits/stdc++.h> using namespace std; char a[2000][2000]; int b[2000][2000]; char c[1000]; int d; int n,m; void nhap() { cin>>m>>n; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++){ cin>>a[i][j]; //cout<<a[i][j]; } } void tao_vien() { for(int i=0;i<=m+1;i++) { b[i][0]=3; b[i][n+1]=3; } for(int i=0;i<=n+1;i++) { b[0][i]=3; b[m+1][i]=3; } } void truyvet(int x,int y,int k) { for(int i=d;i>=1;i--) { if(c[i] == 'W') y++; else if(c[i] == 'E') y--; else if(c[i] == 'S') x--; else if(c[i] == 'N') x++; b[x][y]=k; } } void di(int x,int y) { d=0; while(b[x][y]==0) { d++; c[d]= a[x][y]; b[x][y]=1; if(a[x][y] == 'W') y--; else if(a[x][y] == 'E') y++; else if(a[x][y] == 'N') x--; else if(a[x][y] == 'S') x++; } if(b[x][y]==3 || b[x][y]==2) truyvet(x,y,2); } void giai() { tao_vien(); for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) if(b[i][j]==0) di(i,j); int res=0; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(b[i][j]==1) res++; } } cout<<res; } int main() { ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); freopen("itable.inp","r",stdin); freopen("itable.out","w",stdout); nhap(); giai(); }
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Ba, 3 tháng 5, 2022
ITABLE C++
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.