题库 信息学奥赛题库 题目列表 (打音游)小 A 最近喜欢上了一款音游,并希...
组合题

(打音游)小 最近喜欢上了一款音游,并希望在结算时得到特定分数, 例如 1919810 分。这款音游的得分计算方式如下:一共有 个音符,将 一千万(107)分平分给所有音符得到基础得分 𝑥 = 107/n(保留非整数部 分),其中有 个音符根据是否击中可以获得 x+1 分或者 分,剩下的 n-m 个音符根据击中精度可以获得 x+1xx/2分中的一个,最后将总 得分向下取整即可得到最终得分。

给定 n,m,小 想知道他可以得到多少种不同的分数。 输入为两个非负整数,分别表示 n,m;满足1 ≤ 𝑛 ≤ 1070 ≤ 𝑚 ≤ 𝑛。输出 为一个正整数表示答案。试补全程序。

#include<iostream>
using namespace std;
int main()
{
    int n,m;
    cin>>n>>m;
    if(m==n){
        cout<<1<<end1;
        return o;
    }
    long long m=1000000;
    int ans=2;
    int lst=0;
    for(int i=1;i<=n ++1 ){
        for(int j=1; j>=0; --j){
            int lower=max(0,3);
            int upper=i-j;
            int base=4;
            ans+=upper-lower+1;
            if(lower+base<=lst) ans-=lst-(lower+base)+1;
                lst=5;
            }
        }
    cout<<ans<<endl;
    return 0;
}
第1题 单选

1处应填

A.

-1

B.

n-1

C.

n

D.

n+1

第2题 单选

2处应填

A.

-1

B.

0

C.

1

D.

n

第3题 单选

3处应填

A.

i–(n-m)-1

B.

i–(n-m)-j

C.

i–(n-m)

D.

i–(n-m)+j

第4题 单选

4处应填

A.

(2*i+j) * M / (2*n)

B.

(2*i-j) * M / (2*n)

C.

 i * M / n +j * M / (2*n)

D.

 i * M / n -j * M / (2*n)

第5题 单选

5处应填

A.

base + upper

B.

base + upper + 1

C.

base + lower


D.

base + lower + 1

题目信息
完善程序 2021年 练习
-
正确率
0
评论
692
点击