云阳网站建设,境外电商做的什么平台,装饰公司网站如何布局,做的比较漂亮的中国网站ccf_csp第一题汇总 printf()输出格式大全#xff08;附 - 示例代码#xff09;现值计算AcWing 4699. 如此编码AcWing 4509. 归一化处理(小数位数根号函数)AcWing 4454. 未初始化警告AcWing 4280. 序列查询AcWing 4006. 数组推导(小陷阱)AcWing 3292. 称检测点查询AcWing 3287… ccf_csp第一题汇总 printf()输出格式大全附 - 示例代码现值计算AcWing 4699. 如此编码AcWing 4509. 归一化处理(小数位数根号函数)AcWing 4454. 未初始化警告AcWing 4280. 序列查询AcWing 4006. 数组推导(小陷阱)AcWing 3292. 称检测点查询AcWing 3287. 线性分类器(直线有关)AcWing 3282. 报数AcWing 3277. 小明种苹果AcWing 3272. 小中大(小数位数)AcWing 3257. 跳一跳打酱油(贪心算法)AcWing 1216. 饮料换购(数学推理)AcWing1219.移动距离 AcWing 3242. 分蛋糕---双指针---看AcWing 3237. 中间数---看AcWing 3217. 数列分段AcWing 3197.相反数 abs(num)返回整型的绝对值
fabs(num)返回双精度的绝对值
exp(x)返回指数函数ex的值
pow(x, y)返回x^y的值
sqrt(x)返回√x的值printf()输出格式大全附 - 示例代码
printf()输出格式大全附 - 示例代码
现值计算
#includebits/stdc.h
using namespace std;double ans;int main()
{int n;double i;cinni;for(int j0;jn;j){int x;cinx;ansx*pow((1i),-j);}coutansendl;return 0;} AcWing 4699. 如此编码
AcWing 4699. 如此编码
#includebits/stdc.h
using namespace std;
const int N 22;int main()
{int n,m;int a[N];cinnm;for(int i1;in;i) cina[i];for(int i1;in;i){coutm%a[i] ;m/a[i];}return 0;
}
AcWing 4509. 归一化处理(小数位数根号函数)
AcWing 4509. 归一化处理
#includebits/stdc.h
using namespace std;
const int N 1010;int n;
double w[N];int main()
{cinn;double sum0;for (int i0;in;i){cinw[i];sumw[i];}double avgsum/n;//平均值 double d0;for (int i0;in;i)dpow((w[i]-avg),2)/n;dsqrt(d);//标准差 for (int i0;in;i)printf(%.16lf\n, (w[i]-avg)/d);//归一化后 return 0;
}
AcWing 4454. 未初始化警告
AcWing 4454. 未初始化警告
#includebits/stdc.h
using namespace std;
const int N1e510;
int n;
int k;
bool st[N];//a[k]记录第k个下标是否使用过
int x,y;
int ans0;//记录个数用于输出
int main()
{cinnk;for(int i0;in;i) st[i]false;st[0]true;//常量---默认赋过值 for(int i0;ik;i){cinxy;if(!st[y]) ans;st[x]true;//将左值标记为赋值过}coutansendl;return 0;} AcWing 4280. 序列查询
AcWing 4280. 序列查询 #includebits/stdc.h
using namespace std;
const int N1e710;
int n,m;
int a[N];
int ans;
int main()
{cinnm;for(int i1;in;i) cina[i];a[n1]m;//初始 a[0]0,a[n1]m;nb for(int i0;in;i)ans(a[i1]-a[i])*i;//计算f[a]coutansendl;return 0;} AcWing 4006. 数组推导(小陷阱)
AcWing 4006. 数组推导 #includebits/stdc.h
using namespace std;
const int N1e210;
int b[N];
int main()
{int n;cinn;for(int i0;in;i) cinb[i];int maxs0,mins0;//存储sum的最大值和最小值 for(int i0;in;i){maxsb[i];//最大值时 a[i]b[i] if(!i||b[i]b[i-1])//当b[i]是拐点时 必须选上 minsb[i];}coutmaxsendlminsendl;return 0; } AcWing 3292. 称检测点查询
AcWing 3292. 称检测点查询
题目需要首先按照距离排序再按照编号排序
采用pair类型将first设置为距离second设置为编号
调用sort函数进行排序(sort对pair排序先排first再排second)
存储距离时不按照样例存储开根号的值直接存储平方#includebits/stdc.h
using namespace std;const int N20010;
typedef pairint,int PII;
PII node[N];
int X,Y;
int n;int main()
{cinnXY;for(int i0;in;i){int x,y;cinxy;node[i].first(X-x)*(X-x)(Y-y)*(Y-y);//比较距离--不需要开根号node[i].secondi;}sort(node,noden);for(int i0;i3;i){coutnode[i].second1endl;}return 0;} AcWing 3287. 线性分类器(直线有关)
AcWing 3287. 线性分类器
用结构体存储点的信息sumA记录类型A的点的个数sumB记录类型B的点的个数
通过比较在直线一侧各种类型点的数量和sumA、sumB当一侧全为A类型或者B类型时满足分类条件
由于一个点只能位于直线的一侧因此我们仅选取直线的上侧进行计数即满足ca*node[j].xb*node[j].y0#includebits/stdc.h
using namespace std;const int N1e310;
typedef long long LL;//所有的坐标和参数的绝对值最大为106参数与坐标相乘后为1012因此采用long long 数据类型
LL n,m;
int sum_A0;
int sum_B0;
struct {LL x;LL y;char type;
}node[N]; int main()
{cinnm;for(LL i0;in;i){LL x,y;char type;cinxytype;node[i].xx;node[i].yy;node[i].typetype;if(typeA)sum_A; elsesum_B;} for(LL i0;im;i){LL a,b,c;cinabc;LL sum_A_UP0;//A类型在直线上方的个数 LL sum_B_UP0;//B类型在直线上方的个数 for(LL j0;jn;j){if(ab*node[j].xc*node[j].y0node[j].typeA)//统计A类型在直线上方的个数 sum_A_UP;if(ab*node[j].xc*node[j].y0node[j].typeB)//统计B类型在直线上方的个数sum_B_UP;}//A类型全部在直线上方且B类型全在直线下方 --- B类型全部在直线上方且A类型全在直线下方if((sum_Asum_A_UPsum_B_UP0) || (sum_Bsum_B_UPsum_A_UP0))coutYesendl;elsecoutNoendl;}return 0;
}
AcWing 3282. 报数
AcWing 3282. 报数
#includebits/stdc.h
using namespace std;int res[4];//存储丁(0)--甲(1)--乙(2)--丙(3)----跳过的个数
int main()
{int n;//记录一共要数几个数 cinn; int i1;//轮流报数---且---遍历-甲-乙-丙-丁 while(n){if(i%70 || to_string(i).find(7)!-1)//被跳过时 res[i%4];else//没被跳过时---数数了 n--;i;//报数 }for(int i1;i4;i) coutres[i]endl;coutres[0]endl;return 0;}
AcWing 3277. 小明种苹果
AcWing 3277. 小明种苹果
#includebits/stdc.h
using namespace std;
int n,m;
int main()
{cinnm;int T0,K0,P-1;for(int i1;in;i)//---n棵苹果树 {int total0;//某棵苹果树上的苹果总数int sum0;//某棵苹果树上的梳果总数cintotal;for(int j0;jm;j)//---m次操作 {int x;cinx;sumabs(x);}Ttotal-sum;if(sumP)//如果此次梳果最多---更新 Ki,Psum; }coutT K Pendl;return 0;}
AcWing 3272. 小中大(小数位数)
AcWing 3272. 小中大
#includebits/stdc.h
using namespace std;
const int N 100010;
int n;
int q[N];int main()
{scanf(%d, n);for (int i 0; i n; i ) scanf(%d, q[i]);int res[3];//存储---小 中 大 res[0] q[0] * 2, res[1] q[n - 1] * 2;if (n % 2) res[2] q[n / 2] * 2;else res[2] q[n / 2 - 1] q[n / 2];sort(res, res 3);//从小到大排序 for (int i 2; i 0; i -- )if (res[i] % 2) printf(%.1lf , res[i] / 2.0);//中位数---小数 else printf(%d , res[i] / 2);return 0;
}
AcWing 3257. 跳一跳
AcWing 3257. 跳一跳
#includebits/stdc.h
using namespace std;int main()
{int x;int ans0; //最终答案 int score0; //当前得分 while(cinx,x) //只要输入≠0,就可以一直输入{if(x1) //当没有跳到中心时 {ans1;score0; //等差数列清空 } else //当跳到中心时得分是一个等差数列{score2; ansscore; } } coutansendl;return 0;
}
打酱油(贪心算法)
思路贪心算法
1.尽可能多的选择买5瓶送2两瓶的方式然后再选择买3瓶送1瓶最后才选择10块钱1瓶的方式#includebits/stdc.h
using namespace std;
const int N400;int n;
int main()
{int fifty;int thirty;int ten;cinn;fiftyn/50;thirty(n-fifty*50)/30;ten(n-fifty*50-30*thirty)/10;cout7*fifty4*thirtytenendl;return 0;
}
AcWing 1216. 饮料换购(数学推理) 共喝饮料数res当前瓶盖数 n赋值给n且resn一直循环直到瓶盖n3每次res n / 3n变成了新的饮料/3加上剩下的n%3#includebits/stdc.h
using namespace std;int main()
{int n; cinn;//初始买入的饮料数初始的饮料瓶盖数 int resn;//一共能喝的饮料数 while(n3){resn/3;//可以换购到的第一批饮料数 nn%3n/3; //n%3 上次没换完的瓶盖数 n/3新得到的瓶盖数 }coutresendl;return 0;
}AcWing1219.移动距离
AcWing1219.移动距离
#includeiostream
using namespace std;
int main()
{int w,m,n;cinwmn;m--,n--;//序号从0开始方便计算行号和列号int x1m/w,x2n/w;//行号 int y1m%w,y2n%w;//求列号if(x1%20)//当位于偶数行时 y1w-y1-1;//求列号if(x2%20)//当位于偶数行时 y2w-y2-1;//求列号//曼哈顿距离 coutabs(x1-x2)abs(y1-y2)endl;return 0; } AcWing 3242. 分蛋糕—双指针—看
AcWing 3242. 分蛋糕
#includebits/stdc.h
using namespace std;
const int N1e310;
int a[N];
int ans;
int main()
{int n,k;cinnk;for(int i1;in;i) cina[i];for(int i1;in;i)//双指针算法 {int ji,sum0;while(jn sumk)suma[j];ans; //最后一个即是不够ans也会 ij-1; //当前第j-1个蛋糕已经被使用了,循环外还有个i; }coutansendl; return 0;
}
AcWing 3237. 中间数—看
AcWing 3237. 中间数
#include iostream
#include cstring
#include algorithmusing namespace std;const int N 1010;int n;
int q[N];int main()
{cin n;for (int i 0; i n; i ) cin q[i];for (int i 0; i n; i ){int d 0, u 0;for (int j 0; j n; j )if (q[j] q[i]) d ;else if (q[j] q[i]) u ;if (u d){cout q[i] endl;return 0;}}puts(-1);return 0;
}
AcWing 3217. 数列分段
AcWing 3217. 数列分段
#includebits/stdc.h
using namespace std;const int N1e310;int n;
int a[N];int main()
{cinn;int ans1;for(int i0;in;i){cina[i];}for(int i1;in;i){if(a[i-1]!a[i])ans;}coutansendl;return 0;} #includebits/stdc.h
using namespace std;
const int N 1e310;
int n;
int a[1001];
int main()
{cinn;for(int i0;in;i)cina[i];coutunique(a,an)-a;return 0;} AcWing 3197.相反数
AcWing 3197.相反数
#includebits/stdc.h
using namespace std;
const int N1e310;int n;
int cnt[N];
int main()
{cinn;while(n--){int x;cinx;cnt[abs(x)];}int ans0;for(int i0;iN;i){if(cnt[i]2)ans;}coutansendl;}