2024年的蓝桥杯省赛第一场已经圆满结束了,相信大家在蓝桥杯备赛和比赛的过程中都收获满满。现在快来检验一下这一阶段的学习成果,看看自己能取得多少分数吧
总分:100分 时间 9:00 - 1:00(4个小时)
填空题
试题A(5分)
解:开一个数组存储每个数字对应的值,然后遍历20000101到20240413之间的日期,注意月份,闰年判断,然后可以做一些优化:如:显然0的个数大于等于四个的日期,都是打篮球的(4*13=52>50)
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long LL;
typedef pair PII;
const int N=100010;
const int INF=0x3f3f3f3f;
const int MOD=1e9+7;
int bi[]={13,1,2,3,5,4,4,2,2,2};
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int is_leap(int y){
if((y%4==0&&y%100!=0)||y%400==0) return 1;
return 0;
}
bool check(int x){
int y=x/10000;
int m=x%10000/100;
int d=x%100;
if(!m||m>12||!d) return false;
if(m!=2&&d>month[m]) return false;
if(m==2){
if(d>month[m]+is_leap(y)) return false;
}
return true;
}
int main(){
int ans=0;
for(int i=20000101;i50){
ans++;
}
}
}
cout N >> M;
int n = N, m = M;
int temp;
while (n--) {
cin >> temp;
nums1[N - n] = temp;
}
while (m--) {
cin >> temp;
nums2[M - m] = temp;
}
n = N - 1; m = M - 1;
int t1, t2;
while (n--) {
cin >> t1 >> t2;
tree1[min(t1, t2)].push_back(max(t1, t2));
}
while (m--) {
cin >> t1 >> t2;
tree2[min(t1, t2)].push_back(max(t1, t2)); //存储每个节点的孩子
}
cout > N >> k >> T;
int n = N;
while (n--) {
double temp;
cin >> temp;
nums.push_back(temp);
}
if (N < k) { cout abs(nums[length] - mean))
t[x] = nums[length];
if (calculate0()) { cout numCount;
// 使用 vector 存储输入的数字
vector numbers;
for (int i = 0; i < numCount; i++) {
int tempNumber;
cin >> tempNumber;
numbers.push_back(tempNumber);
}
// 检查每对数字,如果一个数字是另一个数字的因数,就将它们的索引(索引从1开始)作为 pair 存入 set
for (int i = 0; i < numbers.size(); i++) {
for (int j = i + 1; j < numbers.size(); j++) {
if (numbers[i] % numbers[j] == 0)
factorPairs.insert({ j + 1, i + 1 });
if (numbers[j] % numbers[i] == 0)
factorPairs.insert({ i + 1, j + 1 });
}
}
// 计算满足条件的 pair 的数量
int pairCount = 0;
for (const auto& pair1 : factorPairs) {
for (const auto& pair2 : factorPairs) {
if (pair1.first != pair2.first && pair1.first != pair2.second && pair1.second != pair2.first && pair1.second != pair2.second)
pairCount++;
}
}
cout N) return;
for (int i = 0; i < matrix[b].size();i++)
{
if (matrix[b][i] == 1) {
temp.push_back(i);
dfs(i, e, line, matrix,length+1);
temp.pop_back();
}
}
return;
}
int main() {
cin >> N >> q;
vector t(N, 0);
vector matrix(N, t);
int n = N;
while (n--) {
int temp;
cin >> temp;
type.push_back(temp);
}
n = N - 1;
while (n--) {
int i, j;
cin >> i >> j;
matrix[i - 1][j - 1] = 1;
matrix[j - 1][i - 1] = 1;
}
while (q--)
{
int Begin, End;
cin >> Begin >> End;
vector line;
dfs(Begin - 1, End - 1, line,matrix,0);
int minlength = line[0].size();
int f = 0;
for (int i = 0; i < line.size(); i++)
{
if (line[i].size() < minlength) {
f = i;
minlength = line[i].size();
}
}
set s;
s.insert(type[begin0 - 1]);
for (auto x : line[f]) {
s.insert(type[x]);
}
cout |