【汉中校区】26/3/14周赛题解

~ 2026-3-19 15:46:00

从大到小吗?

  • 子任务 1(30 分):由于 a=105a=−10^5 ,数字又不一样,所以一定是没办法满足从大到小的,输出 No 即可。
  • 子任务 2(30 分):由于 d=105d=10^5 ,数字又不一样,所以一定是没办法满足从大到小的,输出 No 即可。
  • 子任务 3(40 分):其实只需要用 if 语句判断一下大小关系就好了。
#include<bits/stdc++.h>
using namespace std;
int a, b, c, d;
int main()
{
    cin >> a >> b >> c >> d;
    if(a > b && b > c && c > d) cout << "Yes" << '\n';
    else cout << "No" << '\n';
    return 0;
}

谁赢了?

  • 子任务 1(30 分):n=1n=1 这个时候可以随便输出一种答案,应该能得点分。
  • 子任务 2(30 分):输出 33dai 即可。
  • 子任务 3(40 分):其实只需要用 if 语句判断一下大小关系就好,然后顺便统计获胜次数,最后根据获胜次数进行输出即可。
#include<bits/stdc++.h>
using namespace std;
int sum1, sum2, n, a, b, c, d;
int main()
{
    cin >> n;
    while(n--)
    {
        cin >> a >> b >> c >> d;
        if(a + b > c + d) sum1++;
        else if(a + b < c + d) sum2++;
    }
    if(sum1 > sum2) cout << "TooY0ung" << '\n';
    else if(sum1 == sum2) cout << "tie" << '\n';
    else cout << "33dai" << '\n';
    return 0;
}

奇数还是偶数?

  • 子任务 1(30 分):由于一定是偶数,直接输出 even 即可。
  • 子任务 2(30 分):保证了 long long 可以存下,用 long long 类型直接判断即可。
  • 子任务 3(40 分):其实只需要用字符串类型读入,判断最后一位是奇数还是偶数就好了。
#include<bits/stdc++.h>
using namespace std;
string s;
int main()
{
    cin >> s;
    int len = (int) s.size();
    if((s[len - 1] - '0') % 2 == 0) cout << "even" << '\n';
    else cout << "odd" << '\n';
    return 0;
}

TooY0ung的等差数列2.0

  • 子任务 1(30 分):由于输入的 n=1n=1 ,所以只要判断输入的 xxa1a_1 是否相等即可。
  • 子任务 2(30 分):保证是正数其实就不用判断负数而已,不过 TooY0ung 的标程写法可以忽略掉负数的判断,TooY0ung 的标程也确确实实就是 R13 周赛的 T4 spj 程序。
  • 子任务 3(40 分):
    • 其实只要能够判断两个事情就好了:1.公差要一样。2.和要等于 xx
    • 可能会有一些恶心的细节问题,比如如果是 n=2n=2,那就不存在公差问题,代码细节处理没问题通过本道题目应该是没有任何难度的,记得使用long long,因为数据里存在 int 类型溢出后正好和 xx 相等的情况。
#include<bits/stdc++.h>
using namespace std;
long long x, n, a[1010];
long long sum, last, d;
int main()
{
    cin >> x >> n;
    for(int i = 0; i < n; i++) cin >> a[i];
    for(int i = 0; i < n; i++)
    {
        sum += a[i];
        if(i == 0) last = a[i];
        else if(i == 1)
        {
            d = a[i] - last;
            last = a[i];
        }
        else
        {
            if(a[i] - last != d)
            {
                cout << "No" << '\n';
                return 0;
            }
            last = a[i];
        }
    }
    if(sum != x)
    {
        cout << "No" << '\n';
        return 0;
    }
    else cout << "Yes" << '\n';
    return 0;
}


我们会审查剪贴板内容,并对发布不合适内容的同学进行相应的处理