首页 > 其他分享 >2021年安徽省合肥市信息学科普日活动

2021年安徽省合肥市信息学科普日活动

时间:2023-02-06 21:12:30浏览次数:45  
标签:信息学 Right 题目 int 新冠 疫苗 2021 合肥市 Left

题目解析:

T1.新冠病毒群体免疫(covid)

题目描述:

新冠病毒肆虐全球将近两年了, 给世界各国都带来了极大的麻烦, 为了最终能战胜新冠病毒, 各个国家都在加紧研发疫苗,我们国家目前已研发出了灭活疫苗、腺病毒载体疫苗等多款不同技术的新冠疫苗,在满足自己使用的同时,也帮助了很多的国家,一起阻遏病毒肆虐。预防胜于治疗, 只有达到一定的接种疫苗比例,即实现群体免疫,才是战胜新冠病毒的王道。研究表明,不同的疫苗效力,实现群体免疫的人口接种疫苗比例是不同的,假设一个国家接种疫苗的人口只要达到该国家总人口的 75%,即可实现群体免疫。请计算一个国家需要接种多少人才能实现群体免疫。(注意结果四舍五入)

题目分析:

只需要用国家总人数乘 0.75 即可,至于四舍五入,先将其 +0.5,在取整即可。

题目正解:

#include <bits/stdc++.h>

using namespace std;

double n;

int main(){
	cin >> n;
	n *= 0.75;
	cout << int(n+0.5);
	return 0;
}

 

T2.整理书本(book)

题目描述:

又一个学期结束了, 又积累了好多本书, 你决定好好整理一下,整理时共有三种操作, 规则如下:

1 p 表示把编号为 p 的书放到最前面

2 p 表示把编号为 p 的书放到最后面

3 p q 表示把编号为 p 的书放到编号为 q 的书的后面

1、2、3 分别代表整理操作的种类, p、q 表示书的编号,他们之间由空格分隔;已知在整理之前,所有书从 1 开始依次编号排放。

题目分析:

由于数据量太大,所以枚举算法会超时,我们应该考虑链表

题目正解:

#include <bits/stdc++.h>

using namespace std;

const int N = 1E5 + 10;
int Left[N], Right[N];

inline void link(int L, int R){
	Right[L] = R;
	Left[R] = L;
}

int main(){
	int n, m;
	cin>>n>>m;
	for(int i=1; i<=n; i++){
		Left[i] = i-1;
		Right[i] = (i+1) % (n+1);
	}
	Left[0] = n;
	Right[0] = 1;
	int c, x, y;
	int head = 1, tail = n;
	int Lx, Rx, Ly, Ry;
	for(int i=1; i<=m; i++){
		cin>>c;
		if(c == 1){
			cin>>x;
			head = Right[0];
			if(x == head) continue;
			Lx = Left[x], Rx = Right[x];
			link(Lx, Rx);
			Left[head] = x;
			Right[x] = head;
			Left[x] = 0;
			Right[0] = x; 
		}
		if(c == 2){
			cin>>x;
			tail = Left[0];
			if(x == tail) continue;
			if(n <= 1) continue;
			Lx = Left[x], Rx = Right[x];
			link(Lx, Rx);
			Right[tail] = x;
			Left[x] = tail;
			Right[x] = 0; 		
			Left[0] = x;	
		}
		if(c == 3){
			cin>>x>>y;
			if(x == y) continue;
			if(n <= 1) continue;
			if(Right[y] == x) continue;
			Lx = Left[x], Rx = Right[x];
			Ly = Left[y], Ry = Right[y];
			link(Lx, Rx);
			link(x, Ry);
			link(y, x);
		}
	}
	int b = Right[0];
	for(int i=1; i<=n; i++){
		cout<<b<<" ";
		b = Right[b];
	}
	return 0;
}

 

标签:信息学,Right,题目,int,新冠,疫苗,2021,合肥市,Left
From: https://www.cnblogs.com/yangzichen/p/17096699.html

相关文章