2022.12.1#2B3678B3679-创新互联

目录
  • [语言月赛202211] Gold-Purple-Blue-Green-White
    • 题目背景
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 提示
      • 样例 1 解释
      • 数据规模与约定
    • 分析
    • 代码
  • [语言月赛202211] Zone Selection
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 提示
    • 分析
    • 代码

成都创新互联公司网站建设服务商,为中小企业提供网站设计制作、网站设计服务,网站设计,网站托管等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出成都创新互联公司。[语言月赛202211] Gold-Purple-Blue-Green-White 题目背景

扶苏在玩一款名叫第五暖暖的游戏。

题目描述

扶苏在游戏中的角色有一个被称为「精神力」的属性,初始时,这一属性为 x 0 x_0 x0​。

扶苏的仓库里有 n n n 件挂件,对于第 i i i 件挂件,只有当人物的精神力不低于 a i a_i ai​ 时才能装备该挂件,装备该挂件后,人物的精神力会增加 b i b_i bi​。

现在,扶苏希望按照从 1 1 1 到 n n n 的顺序依次尝试装备每件挂件。策略是:当尝试装备某件挂件时,如果满足装备该挂件的条件(也就是人物的精神力不低于 a i a_i ai​),则装备该挂件(此时人物的精神力会增加 b i b_i bi​);否则不装备该挂件,以后也不再考虑该挂件。

请你求出,扶苏一共装备了几件挂件。

输入格式

第一行是两个整数,表示挂件数量 n n n 和初始的精神力 x 0 x_0 x0​。
第二行有 n n n 个整数,第 i i i 个整数表示装备挂件 i i i 最少需要的精神力值 a i a_i ai​。
第三行有 n n n 个整数,第 i i i 个整数表示装备挂件 i i i 后增加的精神力值 b i b_i bi​。

输出格式

输出一行一个整数,表示扶苏装备的挂件数量。

样例 #1 样例输入 #1
3 1
1 3 2
1 1 1
样例输出 #1
2
提示 样例 1 解释

初始扶苏的精神力为 1 1 1。
她开始考虑第一件挂件,装备第一件挂件需要的精神力不低于 1 1 1,符合要求,故她装备了第一件挂件,精神力增加 1 1 1,变成 2 2 2。
考虑第二件挂件,要求精神力不低于 3 3 3,不符合条件,于是不装备该挂件。
考虑第三件挂件,要求精神力不低于 2 2 2,此时精神力是 2 2 2,符合要求,故装备该挂件,精神力增加 1 1 1,变成 3 3 3。
需要注意的是,虽然此时已经可以装备第二件挂件,但是第二件挂件已经被考虑过了,所以我们不再尝试装备上它。
最终,扶苏装备了两件挂件。

数据规模与约定
  • 对于 10 % 10\% 10% 的数据,保证 x 0 < min ⁡ i = 1 n a i x_0< \min\limits_{i = 1}^n a_i x0​
  • 对于另外 10 % 10\% 10% 的数据,保证 n = 1 n = 1 n=1;
  • 对于另外 20 % 20\% 20% 的数据,保证 b i = 0 b_i = 0 bi​=0;
  • 对于另外 20 % 20\% 20% 的数据,保证 a i < a i + 1 a_i< a_{i + 1} ai​
  • 对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1≤n≤105, 0 ≤ a i , b i , x 0 ≤ 1 0 9 0 \leq a_i, b_i,x_0 \leq 10^9 0≤ai​,bi​,x0​≤109。

By 一扶苏一

分析

依题意模拟。

代码
#includeusing namespace std;
long long n,x,a[100100],b[100100],ans=0;
int main()
{cin>>n>>x;
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=n;i++) cin>>b[i];
	for(int i=1;i<=n;i++)
	{if(x>=a[i])
		{	x+=b[i];
			ans++;
		}
	}
	cout<
[语言月赛202211] Zone Selection 题目描述

在第五人格巅峰七阶及以上的排位赛中,需要进行区域选择。我们将在本题中形式化、推广化的解决区域选择问题。

在地图中,共有 n n n 台密码机,第 i i i 台密码机的坐标为 ( x i , y i ) (x_i,y_i) (xi​,yi​)。在推广化的游戏中,有 k k k 名求生者。每名求生者可以选择一台密码机作为其出生点,我们称被选择的密码机为 出生密码机。

监管者共有 T T T 个出生点可供选择。第 i i i 个可能的出生点坐标为 ( x i , y i ) (x_i,y_i) (xi​,yi​)。此时,由于“封禁”天赋的存在,离监管者最远的密码机将不能被破译。

如果多台密码机与监管者的距离相同且最远,“封禁”天赋将会封禁这几台密码机中标号最小的那一台。

请问在该 T T T 个出生点中,有多少出生点,可以使某一台 出生密码机 被封禁。

请注意:坐标点 ( x 1 , y 1 ) (x_1,y_1) (x1​,y1​) 与坐标点 ( x 2 , y 2 ) (x_2,y_2) (x2​,y2​) 之间的距离为 ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \sqrt{(x_1-x_2)^2+(y_1-y_2)^2} (x1​−x2​)2+(y1​−y2​)2 ​。

输入格式

输入共 n + T + k + 1 n+T+k+1 n+T+k+1 行。

输入的第一行为三个整数 n , k , T n,k,T n,k,T。

接下来 n n n 行,每行两个整数 x i , y i x_i,y_i xi​,yi​,表示一台密码机的坐标。

接下来 k k k 行,每行两个整数 x i , y i x_i,y_i xi​,yi​,表示一名求生者选择出生密码机的坐标,保证该坐标在上面出现过。

接下来 T T T 行,每行两个整数 x i , y i x_i,y_i xi​,yi​,表示监管者的一个出生点。

输出格式

输出一行一个整数,为答案。

样例 #1 样例输入 #1
4 2 2
-1 0
0 -1
2 0
0 2
-1 0
0 2
3 0
0 0
样例输出 #1
1
提示

【样例 #1 解释】

显然,第一台密码机和第四台密码机为出生密码机。

第一位监管者与位置在 ( − 1 , 0 ) (-1, 0) (−1,0) 的第一台密码机距离最远,为 4 4 4。因此,第一台密码机被封禁。

第二位监管者与位置在 ( 2 , 0 ) , ( 0 , 2 ) (2, 0), (0, 2) (2,0),(0,2) 的第三、四台密码机距离相同且最远,为 2 2 2。根据上面提到的规则,第三台密码机被封禁。

被封禁的出生密码机为 1 1 1 台。

【数据规模与约定】

对前 10 % 10\% 10% 的数据,保证 n = k = 1 n = k = 1 n=k=1。

对前 20 % 20\% 20% 的数据,保证 n , k , t ≤ 10 n, k, t \leq 10 n,k,t≤10。

对另外 20 % 20\% 20% 的数据,保证密码机与出生点的坐标中的 x x x 均为 0 0 0。

对另外 10 % 10\% 10% 的数据,保证 n = k n = k n=k。

对另外 10 % 10\% 10% 的数据,保证 T = 1 T = 1 T=1。

对于 100 % 100\% 100% 的数据范围 1 ≤ k ≤ n ≤ 1 0 3 , 1 ≤ T ≤ 1 0 3 , 1 ≤ ∣ x i ∣ , ∣ y i ∣ ≤ 1 0 3 1 \le k \le n \le 10^3, 1 \le T \le 10^3, 1 \le |x_i|,|y_i| \le 10^3 1≤k≤n≤103,1≤T≤103,1≤∣xi​∣,∣yi​∣≤103。

分析

用结构体来做。结构体数组里的每个数表示每个密码机,定义 x , y , e x,y,e x,y,e, x , y x,y x,y 表示坐标, e e e 是 b o o l bool bool 类型的,表示这个密码机是否为出生密码机。

剩下依题意模拟。

代码
#includeusing namespace std;
long long n,k,t,ans=0;
struct mm
{int x,y;
	bool e;
}a[1100];
double jl(int a,int b,int a2,int b2)
{return sqrt(((a-a2)*(a-a2)+(b-b2)*(b-b2))*1.0);
}
int main()
{cin>>n>>k>>t;
	for(int i=1;i<=n;i++) cin>>a[i].x>>a[i].y;
	for(int i=1;i<=k;i++)
	{int xx,yy;
		cin>>xx>>yy;
		for(int j=1;j<=n;j++)
		{	if(xx==a[j].x&&yy==a[j].y)
			{		a[j].e=true;
				break;
			}
		}
	}
	for(int i=1;i<=t;i++)
	{int xx,yy;
		cin>>xx>>yy;
		double maxx=-1;
		int f=0;
		for(int j=1;j<=n;j++)
		{	if(jl(xx,yy,a[j].x,a[j].y)>maxx)
			{		maxx=jl(xx,yy,a[j].x,a[j].y);
				f=a[j].e;
			}
		}
		if(f) ans++;
	}
	cout<

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享题目:2022.12.1#2B3678B3679-创新互联
文章转载:http://ybzwz.com/article/iscji.html