1.14寒假集训

A:

1.14寒假集训_第1张图片

解题思路:按照题目意思模拟即可,只要不满足条件就输出“No”然后结束循环,否则最后输出“Yes”。

下面是c++代码:

#include
using namespace std;
int main()
{
    int n,arr[100000],index = 0;
    cin >> n;
    for(int i = 0;i < n;i++){
        cin >> arr[i];
    }
    for(int i = 1;i < n;i++){
        if(arr[i] > arr[i - 1] && arr[i + 1] - arr[i] < arr[i] - arr[i - 1]){
            index = 1;
        }else{
            index = 0;
        }
        if(index == 0){
            cout << "No";
            return 0;
        }
    }
    cout << "Yes";
    return 0;
}

B:

1.14寒假集训_第2张图片

解题思路:

我没有什么好的想法,我找到个规律,

1      1 * 2

2      2 * 2

3      2 * 3

4      3 * 3

..............

依次表示切割次数和小矩形数量,因为切割次数最多为100,所以可以设置一个数组来存放1-100切割次数分别对应的小矩形数量。

下面是c++代码:

#include
using namespace std;
int main()
{
    int n,k,arr[100],hen = 1,shu = 1;
    cin >> n >> k;
    for(int i = 0;i < 100;i++){
        if((i + 1) % 2 == 0){
            hen++;
        }else{
            shu++;
        }
        arr[i] = hen * shu;
    }
    printf("%.2lf",(n * n * 1.0) / arr[k - 1] * 1.0);
    return 0;
}

C:

1.14寒假集训_第3张图片

解题思路:根据题意,直接输出c / a即可

下面是c++代码:

#include
using namespace std;
int main()
{
    int a,b,c;
    cin >> a >> b >> c;
    cout << c / a;
    return 0;
}

D:

1.14寒假集训_第4张图片

解题思路:如果n为偶数,输出n / 2,否则在输出n / 2 + 1。

下面是c++代码:

#include
using namespace std;
int main()
{
    int n;
    cin >> n;
    cout << n / 2;
    if(n % 2 == 1){
        cout << ' ' << n / 2 + 1;
    }
    return 0;
}

E:

1.14寒假集训_第5张图片

解题思路:就单纯的解方程问题,设小竹的年龄是y,那么就有x = a * y + b,得到 y = (x - b) / a。

下面是c++代码:

#include
using namespace std;
int main()
{
    int a,b,x;
    cin >> a >> b >> x;
    cout << (x - b) / a;
    return 0;
}

你可能感兴趣的:(算法,c++,数据结构)