2026/4/18 20:49:41
网站建设
项目流程
协会网站建设目的,个人能建什么样的网站,如何建立自己的个人网站,wordpress 购买主题P2133 天作之合
题目背景
生活就是一次 A*#xff0c;你是我的第一个目标状态。——小明
题目描述
在小明的学校中#xff0c;有若干个女生。小明认为每个女生的特征可以抽象为一个 666 位的数字串#xff0c;其中不重复地包含 1∼61\sim61∼6 这 666 个数码。
在小明心中你是我的第一个目标状态。——小明题目描述在小明的学校中有若干个女生。小明认为每个女生的特征可以抽象为一个666位的数字串其中不重复地包含1∼61\sim61∼6这666个数码。在小明心中有一个理想的女生她的特征数字串为AAA。如果串YYY是串XXX交换两个连续的数码所得那么我们认为特征数字串XXX和YYY相似。首先小明找到了他的同桌她的特征数字串为SSS。每次小明会寻找一个特征数字串和当前串相似的女生直到寻找到适合他的即特征数字串和AAA相同或相似的。定义每个女生的合适程度为找到此人至少需要找女生的数量包括他的同桌和此人自己。显然合适程度数值越小的女生越适合小明。然而小明觉得老天不会轻易地让他找到所以他认为合适程度第二小的才是他最合适的伴侣也就是小红。那么请你帮他写一个程序求出对于小明小红的合适程度是多少。输入格式第111行一个特征数字串AAA。第222行一个特征数字串SSS。输出格式一行一个非负整数表示小红的合适程度。输入输出样例 #1输入 #1123654 123456输出 #13说明/提示样例解释最短的两个「合适的数字串」分别是454\tt 454454和545\tt 545545故答案为333。对于全部数据保证串AAA和SSS合法且保证能找到。C实现#includebits/stdc.husingnamespacestd;string a,b;intdata[10];mapchar,intm;intmain(){cinab;a a;//加上空格个人习惯使用s[1]~s[6]b b;intans0,cnt0;for(inti1;i6;i)m[a[i]]i;//map标记每个数字正确的位置for(inti1;i6;i)data[i]m[b[i]];//同上data[i]为b[i]应该在的位置for(inti1;i6;i)for(intji1;j6;j)if(data[j]data[i])ans;//求逆序对个数if(ans2)ans2;//特判如果没交换或者只交换了一次必定属于最优解加2的情况else{for(inti1;i6;i)if(abs(data[i]-m[a[i]])ans)cnt;//特殊情况出现if(cnt1)ans2;//只有一个数在移动}coutans;return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容