Pagini recente » Cod sursa (job #1328641) | Cod sursa (job #991594) | Cod sursa (job #2933186) | Cod sursa (job #1814605) | Cod sursa (job #97600)
Cod sursa(job #97600)
#include <fstream.h>
ifstream fin("zc.in");
ofstream fout("zc.out");
const long x[14]={0,0,0,0,0,1,1,1,-1,-1,-1,-2,2};
const long y[14]={0,-2,-1,1,2,-1,1,0,-1,1,0,0,0};
long long n,m,dist,a[100000],b[100000];
char dir;
void citire(){
fin>>n>>m;
for (long i=0;i<n;i++)
fin>>b[i]>>a[i];
}
long cautare(long nx,long ny){
for (long k=0;k<n;k++)
for (long i=0;i<13;i++)
if ((nx==a[k]+x[i])&&(ny==b[k]+y[i]))
return 1;
return 0;
}
long citire2(){
long nr=0,x1=0,y1=0;
for (long i=0;i<m;i++) {
fin>>dir>>dist;
if (dir=='N'){
for (long j=x1+1;j<=x1+dist;j++)
nr+=cautare(j,y1);
x1+=dist;
}
else
if(dir=='S'){
for (long j=x1-1;j>=x1-dist;j--)
nr+=cautare(j,y1);
x1-=dist;
}
else
if (dir=='E'){
for (long j=y1+1;j<=y1+dist;j++)
nr+=cautare(x1,j);
y1+=dist;
}
else
if (dir=='V'){
for (long j=y1-1;j>=y1-dist;j--)
nr+=cautare(x1,j);
y1-=dist;
}
}
return nr;
}
int main(){
citire();
fout<<citire2();
fin.close();
fout.close();
return 0;
}