医疗类网站哪家做的好,购物网站排名2016,建设网络平台的流程,电子商务主要是干什么的# 奶牛的耳语
## 题目描述
在你的养牛场#xff0c;所有的奶牛都养在一排呈直线的牛栏中。一共有 n 头奶牛#xff0c;其中第 i 头牛在直线上所处的位置可以用一个整数坐标 pi(0 pi 10^8) 来表示。在无聊的日子里#xff0c;奶牛们常常在自己的牛栏里与其它奶牛交…# 奶牛的耳语
## 题目描述
在你的养牛场所有的奶牛都养在一排呈直线的牛栏中。一共有 n 头奶牛其中第 i 头牛在直线上所处的位置可以用一个整数坐标 pi(0 pi 10^8) 来表示。在无聊的日子里奶牛们常常在自己的牛栏里与其它奶牛交流一些八卦新闻。每头奶牛发出的声音响度是一样的而由于声波的能量衰减某头奶牛发出的声音只能被与它距离不超过 d(0 d 10^4) 的奶牛所听到这样这对奶牛就称为可以相互交流的。现在给出所有奶牛的位置和声音所能传播的最远距离 d 请你编个程序来计算你的养牛场里究竟有多少对可以相互交流的奶牛。
## 输入格式
第一行包含两个整数 n,d。
第二行包含 n 个整数每个整数都是一个坐标 pi描述一头奶牛在直线上的位置。
## 输出格式
一个数表示养牛场中可以相互交流奶牛的对数。
## 样例 #1
### 样例输入 #1 5 10 10 12 16 37 40
### 样例输出 #1 4
## 提示
数据规模
对于 40% 的数据1 n 10^3。
对于 100% 的数据1 n 10^6。
解题思路
我们只要把奶牛按所在位置进行排序然后向后一个一个模拟就行了。
代码
#include bits/stdc.h
using namespace std;
int g[1000010];
int main()
{int n,d;int x,y,z,sum0;scanf(%d%d,n,d);for(x1;xn;x){scanf(%d,g[x]);}sort(g1,gn1);for(x1;xn;x){for(yx1;yn;y){if(g[x]dg[y])sum;elsebreak;}}printf(%d,sum);return 0;
}
# [NOIP2014 提高组] 生活大爆炸版石头剪刀布
## 题目描述
石头剪刀布是常见的猜拳游戏石头胜剪刀剪刀胜布布胜石头。如果两个人出拳一样则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种石头剪刀布的升级版游戏。
升级版游戏在传统的石头剪刀布游戏的基础上增加了两个新手势
斯波克:《星际迷航》主角之一。
蜥蜴人:《星际迷航》中的反面角色。
这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果。 现在小 A 和小 B 尝试玩这种升级版的猜拳游戏。已知他们的出拳都是有周期性规律的但周期长度不一定相等。例如如果小 A 以 石头-布-石头-剪刀-蜥蜴人-斯波克 长度为 6 的周期出拳,那么他的出拳序列就是 石头-布-石头-剪刀-蜥蜴人-斯波克-石头-布-石头-剪刀-蜥蜴人-斯波克-...而如果小 B 以 剪刀-石头-布-斯波克-蜥蜴人 长度为 5 的周期出拳,那么他出拳的序列就是 剪刀-石头-布-斯波克-蜥蜴人-剪刀-石头-布-斯波克-蜥蜴人-...。
已知小 A 和小 B 一共进行 N 次猜拳。每一次赢的人得 1 分输的得 0 分平局两人都得 0 分。现请你统计 N 次猜拳结束之后两人的得分。
## 输入格式
第一行包含三个整数N,NA,NB分别表示共进行 N 次猜拳、小 A 出拳的周期长度小 B 出拳的周期长度。数与数之间以一个空格分隔。
第二行包含 NA 个整数,表示小 A 出拳的规律,第三行包含 NB个整数表示小 B 出拳的规律。其中0 表示 剪刀1 表示 石头2 表示 布3 表示 蜥蜴人4表示 斯波克。数与数之间以一个空格分隔。
## 输出格式
输出一行包含两个整数以一个空格分隔分别表示小 A、小 B 的得分。
## 样例 #1
### 样例输入 #1 10 5 6 0 1 2 3 4 0 3 4 2 1 0
### 样例输出 #1 6 2
## 样例 #2
### 样例输入 #2 9 5 5 0 1 2 3 4 1 0 3 2 4
### 样例输出 #2 4 4
## 提示
对于 100% 的数据0 N 200, 0 NA 200, 0 NB 200 。
解题思路
拿一个二维数组把每一种比赛结果都模拟出来再拿两个数组保存出拳规律然后进行模拟就行了
代码
#include bits/stdc.h
using namespace std;
int g[5][5]
{{0,-1,1,1,-1},{1,0,-1,1,-1},{-1,1,0,-1,1},{-1,-1,1,0,1},{1,1,-1,-1,0},
};
int a[210];
int b[210];
int main()
{int n,c,d;int x,y0,z0,q1,e1;scanf(%d%d%d,n,c,d);for(x1;xc;x)scanf(%d,a[x]);for(x1;xd;x)scanf(%d,b[x]);for(x1;xn;x){if(g[a[q]][b[e]]1){y;}else if(g[a[q]][b[e]]-1){z;}q;e;if(qc)q1;if(ed)e1;}printf(%d %d,y,z);return 0;
}