个人觉得没问题 但是数据大了就WA了qwq
#include<iostream>
using namespace std;
bool st[2005][2005]={false};
int n,m,x,y,dnx[]={-2,-1,1,2,2,1,-1,-2},dny[]={1,2,2,1,-1,-2,-2,-1},ans;
char c;
inline void fn()
{
for(int i=0;i<8;i++)
{
int tx=x+dnx[i],ty=y+dny[i];
if(tx>=1&&tx<=n&&ty>=1&&ty<=n) st[tx][ty]=true;
}
return;
}
inline void fq()
{
for(int i=1;i<=n;i++) st[i][y]=st[x][i]=true;
for(int i=1;i<n;i++)
{
if(i+x<=n&&i+y<=n) st[x+i][y+i]=true;
if(x-i>=1&&i+y<=n) st[x-i][y+i]=true;
if(x-i>=1&&y-i>=1) st[x+i][y-i]=true;
if(i+x<=n&&y-i>=1) st[x-i][y-i]=true;
}
}
inline void fr()
{
for(int i=1;i<=n;i++) st[i][y]=st[x][i]=true;
return;
}
int main()
{
cin>>n>>m;
while(m--)
{
cin>>c>>x>>y;
st[x][y]=true;
if(c=='N') fn();
else if(c=='R') fr();
else fq();
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(st[i][j]) ans++;
}
}
cout<<ans<<endl;
return 0;
}