日产天籁一般人养得起吗-大众捷达2019款
2023年11月24日发(作者:迈凯伦720s黑武士)
2021年第??届蓝桥杯省赛真题(CC++?学B组)
?录
题?A: 空间(5分)
题?描述
?蓝准备?256MB 的内存空间开?个数组,数组的每个元素都是 32 位?进制整数,如果不考虑程序占?的空间和维护内存需要的辅
助空间,请问256MB 的空间可以存储多少个32 位?进制整数?
答案提交
??这是?道结果填空的题,你只需要算出结果后提交即可。本题的结果为?个整数,在提交答案时只填写这个整数,填写多余的内容
将?法得分。
67108864
题?分析
题?代码
#include
int main() {
printf(\"%d\", 256 >> 2 << 20);
}
题?B:卡?(5分)
题?描述
?蓝有很多数字卡?,每张卡?上都是数字0到9。
?蓝准备?这些卡?来拼?些数,他想从1开始拼出正整数,每拼?个,就保存起来,卡?就不能?来拼其它数了。
#include
#include
#include
using namespace std;
int s[10];
bool check(int x) {
while (x) {
int t = x % 10;
x = x / 10;
if (--s[t] < 0) return false;
}
return true;
}
//直线
//?致思路:依次枚举各个点,每两个点?成对应的斜率和截距。最后看有多少个不同的组合,即有多少条不同的直线
//注意事项:类型为double的两个数值a和b,即使数值相同,对应的double值也有可能不同,故在cpp中?较两个double值应判断其abs之差是否在很?的?个
范围之内,例如1e-8
#include
#include
#include
#include
#include
using namespace std;
// 直线的最?数
const int N=200000;
int n=0;
struct Line
{
double k;
double b;
//结构体内嵌排序函数
bool operator < (const Line& t) const
{
// k不同的话,k?的在前
if(k!=t.k) return k // k相同的话,b?的在前 return b } }l[N]; int main() { 题?D:货物摆放(10分) 题?描述 ?蓝有?个超?的仓库,可以摆放很多货物。 现在,?蓝有 n 箱货物要摆放在仓库,每箱货物都是规则的正?体。?蓝规定了长、宽、?三个互相垂直的?向,每箱货物的边都必须 严格平?于长、宽、?。 ?蓝希望所有的货物最终摆成?个?的??体。即在长、宽、?的?向上分别堆 L、W、H 的货物,满? n = L × W × H。 给定 n,请问有多少种堆放货物的?案满?要求。 例如,当 n = 4 时,有以下 6 种?案:1×1×4、1×2×2、1×4×1、2×1×2、2 × 2 × 1、4 × 1 × 1。 请问,当 n = 2418 (注意有 16 位数字)时,总共有多少种?案? 2430 提?:建议使?计算机编程解决问题。 题?分析 先获得2418所有质因数,再通过质因数去组合从?获得所有的正约数,最后只需在所有的正约数找3个乘积为 2418就?。 题?代码 #include #include #include // ?vector来存储约数 #include using namespace std; // n?较?,会爆因? typedef long long LL; int main() 题?描述 ?蓝学习了最短路径之后特别?兴,他定义了?个特别的图,希望找到图中的最短路径。 ?蓝的图由 2021 个结点组成,依次编号 1 ? 2021。 对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值?于 21,则两个结点之间没有边相连;如果 a 和 b 的差的绝对值?于等于 21,则两个点之间有?条长度为 a 和 b 的最?公倍数的?向边相连。 例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有?条?向边,长度为 24;结点 15 和结点 25 之间有?条?向 边,长度为 75。 请计算,结点 1 和结点 2021 之间的最短路径长度是多少。 10266837 提?:建议使?计算机编程解决问题。 题?分析 题?代码 #include #include #include using namespace std; const int N=2200,M=N*50; int n; int h[N],e[M],w[M],ne[M],idx; int q[N],dist[N]; } } } } } int main() { n=2021; memset(h,-1,sizeof h); for(int i=1; i<=n; i++) { for(int j=max(1,i-21); j<=min(n,i+21); j++) #include #include #include using namespace std; typedef long long LL; int main() { LL n; cin >> n; //1s=1000ms,先去除毫秒 n /= 1000; // 每?天秒数=24*60*60=86400s,取出最后?天的秒数 n %= 86400; 题?描述 // dp:状态表?f(i,j)-->集合:只从前i个物品中选,且总重量为j的所有?案的集合;属性:是否为true // 状态计算:不选wi(f(i-1,j))、选+wi(f(i-1,j-wi))、选-wi(f(i-1,j+wi)) // f(n,1~n) #include #include #include using namespace std; // -m<=j<=m const int N = 110, M = 200010, B = M / 2; int n, m; int w[N]; bool f[N][M]; int main() { scanf(\"%d\", &n); // m代表所有砝码总重量 for (int i = 1; i <= n; i ++ ) scanf(\"%d\", &w[i]), m += w[i]; f[0][B] = true; // j可能是负数,都要加?个偏移量(?够?的数) for (int i = 1; i <= n; i ++ ) for (int j = -m; j <= m; j ++ ) 题?描述 下?的图形是著名的杨辉三?形: #include #include #include using namespace std; typedef long long LL; 题?描述 #include #include #include 题?描述 ?给定?个括号序列,要求尽可能少地添加若?括号使得括号序列变得合法,当添加完成后,会产?不同的添加结果,请问有多少种本 质不同的添加结果。 ??两个结果是本质不同的是指存在某个位置?个结果是左括号,?另?个是右括号。 ??例如,对于括号序列 (((),只需要添加两个括号就能让其合法,有以下?种不同的添加结果:()()()、()(())、(())()、(()()) 和 ((()))。 输?格式 ??输???包含?个字符串 s ss,表?给定的括号序列,序列中只有左括号和右括号。 #include
2022最新款江铃宝典-金杯海狮14座报价及图片
更多推荐
开c260l的都是穷人
发布评论