第十三届蓝桥杯省赛C++ C组《全题目+题解》
填空题一般都是找规律题目,耐下心来慢慢分析即可。
(图片来源网络,侵删)
第一题《排列字母》
【问题描述】
小蓝要把一个字符串中的字母按其在字母表中的顺序排列。
例如,LANQIAO 排列后为AAILNOQ。
又如,GOODGOODSTUDYDAYDAYUP 排列后为AADDDDDGGOOOOPSTUUYYY。
请问对于以下字符串,排列之后字符串是什么?
WHERETHEREISAWILLTHEREISAWAY
【答案提交】
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
(图片来源网络,侵删)
【思路】简单模拟
【代码】
#include #include using namespace std; int main() { string s; cin >> s; sort(s.begin(),s.end()); cout > str; int length = 1189,width=841; int n = str[1] - '0'; while(n--){ if(length > width) length /= 2; else width /= 2; } if(length > width){ printf("%d\n%d",length,width); }else{ printf("%d\n%d",width,length); } return 0; }
第四题《求和》
【问题描述】
给定 n 个整数 a1,a2,⋅⋅⋅,an,求它们两两相乘再相加的和,即
S=a1⋅a2+a1⋅a3+⋅⋅⋅+a1⋅an+a2⋅a3+⋅⋅⋅+an−2⋅an−1+an−2⋅an+an−1⋅an
【输入格式】
输入的第一行包含一个整数 n。
第二行包含 n 个整数 a1,a2,⋅⋅⋅,an。
【输出格式】
输出一个整数 S,表示所求的和。
请使用合适的数据类型进行运算。
【数据范围】
对于 30% 的数据,1≤n≤1000,1≤ai≤100。
对于所有评测用例,1≤n≤200000,1≤ai≤1000。
【输入样例】
41 3 6 9
【输出样例】
117
【思路】简单模拟 / 前缀和
【代码】
#include using namespace std; const int N = 200010; int a[N],n; long long res; int main(){ long long s = 0; scanf("%d",&n); for(int i = 1;i
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...