SRM508div2

 

这几天终于把topcoder摸熟了。。。。。。。。。。

编码速度和反应速度还是太慢,不然的话,这样水题应该在最多30分钟A掉的。。。。。。。。。

读代码能力太菜,别人的很多可以chan 的代码,多没读懂。。。。。。。。。

#include<iostream>

#include<vector>

#include<string.h>

using namespace std;

    int p[402][402]={0};

   bool v[402][402]={0};

class CandyShop

{

    public:

      int countProbablePlaces(vector <int> X, vector <int> Y, vector <int> R)

      {

        int len=X.size();

      for(int i=0;i<len;i++)

    {

        //cin>>X[i]>>Y[i]>>R[i];

        X[i]+=200;

        Y[i]+=200;

    }

 

 

        for(int i=0;i<len;i++)

        {

             memset(v,0,sizeof(v));

            for(int j=0;j<=R[i];j++)

            {

 

                for(int k=0;k<=j;k++)

                for(int u=0;u<=j;u++)

                if(u+k==j)

                {

 

                if(v[X[i]-u][Y[i]+k]==0){p[X[i]-u][Y[i]+k]++;v[X[i]-u][Y[i]+k]=1;}

 

                if(v[X[i]+u][Y[i]-k]==0){p[X[i]+u][Y[i]-k]++;v[X[i]+u][Y[i]-k]=1;}

 

                if(v[X[i]+u][Y[i]+k]==0){p[X[i]+u][Y[i]+k]++;v[X[i]+u][Y[i]+k]=1;}

 

                if(v[X[i]-u][Y[i]-k]==0){p[X[i]-u][Y[i]-k]++;v[X[i]-u][Y[i]-k]=1;}

 

                if(v[X[i]-k][Y[i]+u]==0){p[X[i]-k][Y[i]+u]++;v[X[i]-k][Y[i]+u]=1;}

 

                if(v[X[i]+k][Y[i]-u]==0){p[X[i]+k][Y[i]-u]++;v[X[i]+k][Y[i]-u]=1;}

 

                if(v[X[i]+k][Y[i]+u]==0){ p[X[i]+k][Y[i]+u]++;v[X[i]+k][Y[i]+u]=1;}

 

                if(v[X[i]-k][Y[i]-u]==0){p[X[i]-k][Y[i]-u]++;v[X[i]-k][Y[i]-u]=1;}

 

 

 

                }

 

            }

        }

            int ans=0;

            for(int i=0;i<402;i++)

            for(int j=0;j<402;j++)

            {

                if(p[i][j]==len)

                {

                   // printf("%d***%d/n",i,j);

                    ans++;

                }

            }

            //cout<<ans<<endl;

    return ans;

}

 

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值