Codeforces Round #341 Div.2 B. Wet Shark and Bishops
题意:处在同一对角线上的主教(是这么翻译没错吧= =)会相互攻击 求互相攻击对数
由于有正负对角线 因此用两个数组分别保存每个主教写的 x-y 和 x+y
然后每个数组中扫描重复数字k ans加上kC2就行了
wa了两发的原因是没考虑到如果整个数组都是重复的 那要最后额外加一次
#include <cstdio>
#include <cmath>
#include <cstring>
#include <queue>
#include <vector>
#include <algorithm>
#define INF 0x3f3f3f3f
#define mem(str,x) memset(str,(x),sizeof(str))
#define STOP puts("Pause");
using namespace std;
typedef long long LL; int n, node[], node2[];
LL ans; int main()
{
ans = ;
scanf("%d", &n);
for(int i = ; i <= n; i++){
int x, y;
scanf("%d%d", &x, &y);
node[i] = x - y;
node2[i] = x + y;
}
sort(node + , node + + n);
sort(node2 + , node2 + + n);
LL count = ;
for(int i = ; i <= n; i++){
if(node[i] == node[i-]) count++;
else{
ans += (count * (count - ) / );
count = ;
}
}
ans += (count * (count - ) / );
count = ;
for(int i = ; i <= n; i++){
if(node2[i] == node2[i-]) count++;
else{
ans += (count * (count - ) / );
count = ;
}
}
ans += (count * (count - ) / );
printf("%I64d\n", ans);
return ;
}
Codeforces Round #341 Div.2 B. Wet Shark and Bishops的更多相关文章
- Codeforces Round #341 (Div. 2) E. Wet Shark and Blocks dp+矩阵加速
题目链接: http://codeforces.com/problemset/problem/621/E E. Wet Shark and Blocks time limit per test2 se ...
- Codeforces Round #341 Div.2 C. Wet Shark and Flowers
题意: 不概括了..太长了.. 额第一次做这种问题 算是概率dp吗? 保存前缀项中第一个和最后一个的概率 然后每添加新的一项 就解除前缀和第一项和最后一项的关系 并添加新的一项和保存的两项的关系 这里 ...
- Codeforces Round #341 Div.2 A. Wet Shark and Odd and Even
题意是得到最大的偶数和 解决办法很简单 排个序 取和 如果是奇数就减去最小的奇数 #include <cstdio> #include <cmath> #include < ...
- Codeforces Round #341 (Div. 2) E - Wet Shark and Blocks
题目大意:有m (m<=1e9) 个相同的块,每个块里边有n个数,每个数的范围是1-9,从每个块里边取出来一个数组成一个数,让你求组成的方案中 被x取模后,值为k的方案数.(1<=k< ...
- Codeforces Round #341 (Div. 2)
在家都变的懒惰了,好久没写题解了,补补CF 模拟 A - Wet Shark and Odd and Even #include <bits/stdc++.h> typedef long ...
- Codeforces Round #341 (Div. 2) ABCDE
http://www.cnblogs.com/wenruo/p/5176375.html A. Wet Shark and Odd and Even 题意:输入n个数,选择其中任意个数,使和最大且为奇 ...
- Codeforces Round #341 (Div. 2)B
B. Wet Shark and Bishops time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- Codeforces Round #341 (Div. 2) D. Rat Kwesh and Cheese 数学
D. Rat Kwesh and Cheese 题目连接: http://www.codeforces.com/contest/621/problem/D Description Wet Shark ...
- Codeforces Round #341 (Div. 2)A
A. Wet Shark and Odd and Even time limit per test 2 seconds memory limit per test 256 megabytes inpu ...
随机推荐
- Qt之指针与float--setNum使用
案例: quint8 ad[8] = {0,100,150,200,0,220,230,250}; QString str; QString str2; ab = (float)(*((float * ...
- testlink安装
今天安装了一下testlink,完全按照高峻博客里的做法,最后安装成功了 遇到的问题: 问题表现: 新安装TestLink,登录Testlink后,新建一个项目后,会出现如下提示: There are ...
- ie7、ie8 下Table 中 td 列固定宽度 未按样式设定显示 曲线解决方案
<!doctype html> <html> <head> <meta charset='utf-8'> <style> .title {b ...
- SQL server存储过程语法及实例(转)
存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...
- Spearman秩相关系数和Pearson皮尔森相关系数
1.Pearson皮尔森相关系数 皮尔森相关系数也叫皮尔森积差相关系数,用来反映两个变量之间相似程度的统计量.或者说用来表示两个向量的相似度. 皮尔森相关系数计算公式如下:
- C++ const
在程序中经常遇到const,但是对他还不是非常了解,今天看到一篇文章讲挺好的,所以复制过来了.... 原文链接:http://blog.csdn.net/Eric_Jo/article/details ...
- knockout.js 简介
Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化. Knockout有如下4大重要概念: 声明式绑定 (Declarative Bindings):使用 ...
- Android下使用Properties文件保存程序设置
原文:http://jerrysun.blog.51cto.com/745955/804789 废话不说,直接上代码. 读取.properties文件中的配置: String strValue ...
- Java(二)
课后,我查阅相关学习资料和Java API制作了以下界面,界面包含了单选按钮(JRadioButton).复选框(JCheckBox).组合框(JComboBox).单行文本输入框(JTextFiel ...
- 获取Ca证书相关与服务器信息
Request.ServerVariables["Url"] 返回服务器地址 Request.ServerVariables["Path_Info"] 客户端提 ...