lduoj_2021年初寒假训练第42场(下)

简介: 目录2021年初寒假训练第41场A. 复制-粘贴B. 足球联赛C. 捕食关系D. 幻方E. 求和F. 猜歌名

D. 幻方


Description


大家都知道n阶奇数幻方吧?如下为一个5阶幻方:

微信图片_20220607191730.png

现在,输入奇数n,n<1000000,输出该奇数幻方最右下角的元素值。


Input


一行一个数n。


Output


一行一个数,表示该奇数幻方右下角的值。


Samples


Input Copy

5


Output

9


结果可能比较大,爆掉long long

这个是个结论题,记得初一的时候数学老师讲过幻方的一些性质,这个题的答案是(n + 1) * (n - 2) / 2


Main_Code()


  ll n = read;
    ll t1 = (n-2);
    ll t2 = n + 1;
    t2 /= 2;
    cout<<t2 * t1<<endl;


E. 求和


Description


小马克今年成为小学生。不久后她将进行她的第一次考试,其中包括数学考试。她非常认真地复习,她认为自己已经准备好了。她的哥哥通过给她提出问题并解决的方式帮助她。


他的问题是给定一连串整数:依次由1个1,2个2,3个 3 等组成,即1223334444……。现在他给马克两个整数A和B;他的任务是求出由第A个到第B个数的。如果A是1,B是3,答案为1+2+2=5。


给一个问题,然后计算它们的和,马克的哥哥能够验证答案正确与否。


Input


只有一行,包括正整数A和B,1≤A≤B≤1000


Output


共一行,为和的值。


Samples


Input Copy

1 3

Output

5


Input Copy

3 7

Output

15


看数据范围可以打表,然后求就完了

很简单的模拟


Main_Code()


ll aa[1007];
int main()
{
    int a=read,b=read;
    ll ans = 0;
    int cnt = 0;
    int lim = 1;
    for(int i=1;i<=1000;i++){
        cnt ++;
        aa[i] = lim;
        if(cnt == lim){
            cnt = 0;
            lim ++;
        }
    }
    ///for(int i=1;i<=10;i++) cout<<aa[i]<<endl;
    for(int i=a;i<=b;i++) ans += aa[i];
    cout<<ans<<endl;
    return 0;
}


F. 猜歌名


Description


“Guess the song” 是一项在年轻程序员中非常流行的游戏。它是一种集技能、智慧、耐性于一体的游戏。这个游戏给玩游戏的人放音乐,游戏者的目标是尽可能快地猜这首歌的歌名。


Mirko可能不是一个很好的程序员,但他是一个世界级的猜歌者。Mirko总是在专辑里的某首歌播放出至少一半歌词的时候猜出歌名。所有歌名的单词是唯一的(没有一个单词会出现一次或更多次)。


写一个程序,给出歌名和专辑名,看看Mirko在这首歌的哪个点上(在多少个单词之后)猜出歌名。


Input


共两行:


第一行:包含一个整数N,1≤N≤50,它是一首歌里的单词数目。


接下来的N行每一行包含歌名的一个单词。


第N+2行:包含一个整数M,1≤M≤10000, 它是专辑里的单词数目。


接下来的M行每一行包含专辑里的一个单词 歌名和专辑里的所有单词由1到15个小写英文字母组成。


注:测试数据将会使得Mirko总能从专辑里猜出歌曲名。


Output


共一行,包含一个数,表示Mirko在第几个单词处猜出歌曲名。


Samples


Input Copy

3 
sedam 
gladnih 
patuljaka 
7 
sedam 
dana 
sedam 
noci 
sedam 
gladnih 
godina


Output

6

Input Copy


4 
moj 
bicikl 
mali 
crveni 
11 
ja 
vozim 
bicikl
crvene 
boje 
ali 
je 
moj 
moj 
samo 
moj


Output

8


简单模拟,通过遍历下面的字符串,对上面的字符串进行标记,如果上面的字符串中超过一半被标记过,就可以直接输出当前遍历的字符串的下标


Main_Code()


int n,m;
int lim;
string a[55];
string b[10086];
int flag[55];
bool ck(){
    int cnt = 0;
    for(int i=1;i<=n;i++) if(flag[i]) cnt ++;
    if(cnt * 2 >= n) return true;
    return false;
}
int main()
{
    int pos = 0;
    n = read;
    if(n % 2) lim = n / 2 + 1;
    else lim = n / 2;
    for(int i=1;i<=n;i++) cin >> a[i];
    m = read;
    for(int i=1;i<=m;i++) cin >> b[i];
    for(int i=1;i<=m;i++){
        string temp = b[i];
        for(int j=1;j<=n;j++){
            if(temp == a[j]){
                flag[j] = 1;
                break;
            }
        }
        if(ck()){
            pos = i;
            break;
        }
    }
    cout<<pos<<endl;
    return 0;
}



目录
相关文章
|
JavaScript API
vue3+element实现一个公告面板
vue3+element实现一个公告面板
894 0
|
开发者 API 开发框架
Xamarin 在教育应用开发中的应用:从课程笔记到互动测验,全面解析使用Xamarin.Forms构建多功能教育平台的技术细节与实战示例
【8月更文挑战第31天】Xamarin 作为一款强大的跨平台移动开发框架,在教育应用开发中展现了巨大潜力。它允许开发者使用单一的 C# 代码库构建 iOS、Android 和 Windows 应用,确保不同设备上的一致体验。Xamarin 提供广泛的 API 支持,便于访问摄像头、GPS 等原生功能。本文通过一个简单的教育应用示例——课程笔记和测验功能,展示了 Xamarin 在实际开发中的应用过程。从定义用户界面到实现保存笔记和检查答案的逻辑,Xamarin 展现了其在教育应用开发中的高效性和灵活性。
176 0
|
SQL XML Java
Springboot整合Mybatis-plus(比较详细)
Springboot整合Mybatis-plus(比较详细)
1052 2
|
前端开发 JavaScript 算法
ChatGPT工作提效之layedit上传多附件的解决方案(layedit赋值、layui.js底层修改、追加模式多附件上传)
ChatGPT工作提效之layedit上传多附件的解决方案(layedit赋值、layui.js底层修改、追加模式多附件上传)
601 0
|
机器学习/深度学习 数据采集 算法
专栏 | 基于 Jupyter 的特征工程手册:特征选择(四)
专栏 | 基于 Jupyter 的特征工程手册:特征选择(四)
352 0
专栏 | 基于 Jupyter 的特征工程手册:特征选择(四)
|
5天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
383 93