CodeForces 621B Wet Shark and Bishops

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces 621B Wet Shark and Bishops相关的知识,希望对你有一定的参考价值。

记录一下每个对角线上有几个,然后就可以算了

#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<vector>
#include<algorithm>
using namespace std;

const int maxn=2000+10;
int n;
long long w1[maxn];
long long w2[maxn];
long long ans;

int main()
{
    int n;
    scanf("%d",&n);
    ans=0;
    memset(w1,0,sizeof w1);
    memset(w2,0,sizeof w2);

    for(int i=1; i<=n; i++)
    {
        int x,y;
        scanf("%d%d",&x,&y);
        int p=1000;

        p=p+(x-1);
        p=p-(y-1);

        w1[p]++;

        p=1000;
        p=p+x-1;
        p=p-(1000-y);
        w2[p]++;
    }

    for(int i=1; i<=1999; i++)
        if(w1[i]!=1&&w1[i]!=0)
            ans=ans+(w1[i]-1)*w1[i]/2;

    for(int i=1; i<=1999; i++)
        if(w2[i]!=1&&w2[i]!=0)
            ans=ans+(w2[i]-1)*w2[i]/2;

    printf("%lld\n",ans);

    return 0;
}

 

以上是关于CodeForces 621B Wet Shark and Bishops的主要内容,如果未能解决你的问题,请参考以下文章

codeforce 621B Wet Shark and Bishops

codeforces 621C Wet Shark and Flowers

codeforces 621A Wet Shark and Odd and Even

CodeForces 621A Wet Shark and Odd and Even

CodeForces 621C Wet Shark and Flowers

Codeforces Round #341 Div.2 B. Wet Shark and Bishops