ccfcsp-202212(1、2、3)

2024-08-30 01:20
文章标签 202212 ccfcsp

本文主要是介绍ccfcsp-202212(1、2、3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

202212-1 现值计算

#include <bits/stdc++.h>
using namespace std;int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;double i;cin >> n >> i;vector<double> money(n + 1);double res = 0;for(int j = 0; j <= n; j++){cin >> money[j];res += money[j] / pow(1 + i, j);}cout << res;return 0;
}

202212-2 训练计划

#include <bits/stdc++.h>
using namespace std;int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n, m;cin >> n >> m;vector<vector<int>> vec(m + 1, vector<int>(2,0));unordered_set<int> mset;for(int i = 1; i <= m; i++){cin >> vec[i][0];mset.insert(i);}for(int i = 1; i <= m; i++){cin >> vec[i][1];if(mset.find(vec[i][0]) != mset.end()){mset.erase(vec[i][0]);}}vector<int> early(m + 1, 0);//最早vector<int> late(m + 1, INT_MAX);//最晚for(int i = 1; i <= m; i++){int day = 1;int j = vec[i][0];while(j != 0){day += vec[j][1];j = vec[j][0];}early[i] = day;cout << day << " ";}cout << endl;for(auto it : mset){late[it] = n - vec[it][1] + 1;int i = it;int j = vec[it][0];//j为i的上一个节点while(j != 0){late[j] = min(late[j], late[i] - vec[j][1]);//可能有不同路径,所以要取最小值i = j;j = vec[j][0];}}int flag = 1;for(int i = 1; i <= m; i++){if(late[i] <= 0)flag = 0;}if(flag){for(int i = 1; i <= m; i++){cout << late[i] << " ";}}return 0;
}

202212-3 JPEG 解码

#include <bits/stdc++.h>
using namespace std;int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n, T;vector<vector<int>> Q(8, vector<int>(8));vector<vector<int>> M(8, vector<int>(8, 0));vector<vector<int>> M1(8, vector<int>(8, 0));for(int i = 0; i < 8; i++){for(int j = 0; j < 8; j++){cin >> Q[i][j];}}cin >> n >> T;vector<int> data(n);for(int i = 0; i < n; i++){cin >> data[i];}//读入扫描数据int k = 0;for(int i = 0; i < 15; i++){if(i % 2){for(int j = max(i - 7 , 0); j <= i && j < 8; j++){M[j][i - j] = data[k++];}}else{for(int j = min(i, 7); j >= 0 && i - j < 8; j--){M[j][i - j] = data[k++];}}if(k >= n)break;}//将矩阵M中的每个元素都乘以量化矩阵Q中的对应元素for(int i = 0; i < 8; i++){for(int j = 0; j < 8; j++){Q[i][j] *= M[i][j];}}//对矩阵M进行离散余弦逆变换for(int i = 0; i < 8; i++){for(int j = 0; j < 8; j++){double res = 0;for(int u = 0; u < 8; u++){for(int v = 0; v < 8; v++){double au = u == 0 ? sqrt(0.5) : 1;double av = v == 0 ? sqrt(0.5) : 1;res += au * av * Q[u][v] * cos((acos(-1) / 8.0) * (i + 0.5) * u) * cos((acos(-1) / 8.0) * (j + 0.5) * v);}}int t = round(res / 4 + 128);if(t > 255)t = 255;else if(t < 0)t = 0;M1[i][j] = t;}}if(T == 0){for(int i = 0; i < 8; i++){for(int j = 0; j < 8; j++){cout << M[i][j] << " ";}cout << endl;}}else if(T == 1){for(int i = 0; i < 8; i++){for(int j = 0; j < 8; j++){cout << Q[i][j] << " ";}cout << endl;}}else if(T == 2){for(int i = 0; i < 8; i++){for(int j = 0; j < 8; j++){cout << M1[i][j] << " ";}cout << endl;}}return 0;
}

这篇关于ccfcsp-202212(1、2、3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119394

相关文章

ccfcsp-202206(1、2、3)

202206-1 归一化处理 #include <bits/stdc++.h>using namespace std;int main() {int n;cin >> n;vector<double> vec(n);double ave = 0;for(int i = 0; i < n; i++){cin >> vec[i];ave += vec[i];}ave /= n;double va

ccfcsp-202209(1、2、3)

202209-1 如此编码 #include <bits/stdc++.h>typedef long long ll;using namespace std;int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n,m;cin >> n >> m;vector<ll> a(n,0);vector<ll> b(n,0

ccfcsp-202305(1、2、3)

202305-1 重复局面 #include <bits/stdc++.h>using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin >> n;unordered_map<string, int> mp;string str, s;while(n--){str = "

202212青少年软件编程(Python)等级考试试卷(四级)

第 1 题 【单选题】 有n个按名称排序的商品,使用对分查找法搜索任何一商品,最多查找次数为 5 次, 则 n 的值可能为?() A :5 B :15 C :30 D :35 正确答案:C 试题解析: 对分查找最多查找次数m与个数之间 n 的关系是: n 对 2 的对数的取整后加 1,现在最多查找次数是 5 次, 因此n的取值范围在[2^4+1, 2^5]即[16, 31]之间, 因此

2024 ccfcsp认证打卡 2022 12 01 现值计算

import java.util.Scanner;public class FinancialFormula {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);final int N = 1010; // 定义数组大小int n = scanner.nextInt(); //

2024 ccfcsp认证打卡 2023 03 02 垦田计划

import java.util.*;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int N = 100100; // 定义一个较大的常数Nlong[] t = new long[N]; // 存储任务的耗时long[] c = new l

CCF-CSP认证考试 202212-3 JPEG 解码 100分题解

更多 CSP 认证考试题目题解可以前往:CSP-CCF 认证考试真题题解 原题链接: 202212-3 JPEG 解码 时间限制: 1.0s 内存限制: 512.0MB 问题背景 四年一度的世界杯即将画上尾声。在本次的世界杯比赛中,视频助理裁判(Video Assistant Referee, VAR)的应用可谓是大放异彩。VAR 使用视频回放技术帮助主裁判作出正确判罚决定。西西

2024 ccfcsp认证打卡 2023 09 02 坐标变换(其二)

202309-2 坐标变换(其二) 题解1题解2区别第一种算法(使用ArrayList存储操作序列):数据结构:操作序列处理: 第二种算法(使用两个数组存储累积结果):数据结构:操作序列处理: 对比效率简洁性可读性 题解1 import java.util.ArrayList;import java.util.Scanner;public class Main {pu

CCF-CSP认证考试 202212-2 训练计划 100分题解

更多 CSP 认证考试题目题解可以前往:CSP-CCF 认证考试真题题解 原题链接: 202212-2 训练计划 时间限制: 1.0s 内存限制: 512.0MB 问题背景 西西艾弗岛荒野求生大赛还有 n n n 天开幕! 问题描述 为了在大赛中取得好成绩,顿顿准备在 n n n 天时间内完成“短跑”、“高中物理”以及“核裂变技术”等总共 m m m 项科目的加强训练。

202212 青少年软件编程等级考试Scratch二级真题

第 1 题 【 单选题 】 一个骰子,从3个不同角度看过去的点数如图所示,请问5的对面是什么点数?( ) A:1 B:3 C:4 D:6 正确答案:A 试题解析:根据图三,用右手定则,大拇指朝上指向6所对的方向,其余四指握起来表示旋转方向,可以看到先5后2,然后把这个姿势对应到图1中,就知道1的对面是5,4的对面是2。 第 2 题 【 单选题 】 明明想做一个大鱼吃小鱼的