第十四届蓝桥杯省赛C++ A组所有题目以及题解(C++)【编程题均通过100%测试数据】
第一题《幸运数》【模拟】
【问题描述】
小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和,则这个数是他的幸运数字。例如 2314是一个幸运数字,因为它有4个数位,并且2+3=1+4。现在请你帮他计算从1至100000000之间共有多少个不同的幸运数字。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
【代码】
#include
#include
using namespace std;
typedef long long LL;
LL res;
bool check(string s){
int l = s.size();
int left=0,right=0;
for(int i = 0,j=l-1;i st[i].w;
}
sort(st + 1, st + 1 + m, cmp);
for (int i = 1;i > a >> b;
query[a].insert(i);
query[b].insert(i);
}
for (int i = 1;i query[py].size() ) {
swap(px, py);
}
if (px != py) {
vector tmp;
for (auto v : query[px]) {
if (query[py].count(v)) {
ans[v] = w;
tmp.push_back(v);
}
query[py].insert(v);//询问转移
}
for (auto t : tmp) {
query[py].erase(t);//已经完成的询问剃去
}
fa[px] = py;
}
}
for (int i = 1;i a[i];
for (int i = 1; i j & 1) now += c0, c1 ++ ; //s[i]的第j位是1
else now += c1, c0 ++ ; //s[i]的第j位是0
ans += now * (1 n || yy m) continue;
if(!mp[xx][yy]) continue;
if(a[xx][yy] == 0) ans --;
a[xx][yy] ++;
check[xx][yy] --;
}
answer[x][y] = 0;
}
if(flag1)
{
for(int i = 0; i n || yy m) continue;
if(!mp[xx][yy]) continue;
check[xx][yy] ++;
}
dfs(u + 1, ans);
for(int i = 0; i n || yy m) continue;
if(!mp[xx][yy]) continue;
check[xx][yy] --;
}
}
}
int main()
{
cin >> n >> m;
for(int i = 1; i c;
if(c == '_')
{
mp[i][j] = 0;
}else{
mp[i][j] = 1;
a[i][j] = c - '0';
if(c != '0') res ++;
}
}
}
for(int i = 1; i
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
