语法周赛 Round 15 题解
2024年12月25日大约 2 分钟
从大到小吗?
- 子任务 1(30 分):由于
,数字又不一样,所以一定是没办法满足从大到小的,输出No
即可。 - 子任务 2(30 分):由于
,数字又不一样,所以一定是没办法满足从大到小的,输出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 分):
这个时候可以随便输出一种答案,应该能得点分。 - 子任务 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 分):由于输入的
,所以只要判断输入的 和 是否相等即可。 - 子任务 2(30 分):保证是正数其实就不用判断负数而已,不过 TooY0ung 的标程写法可以忽略掉负数的判断,TooY0ung 的标程也确确实实就是 R13 周赛的 T4 spj 程序。
- 子任务 3(40 分):
- 其实只要能够判断两个事情就好了:1.公差要一样。2.和要等于
。 - 可能会有一些恶心的细节问题,比如如果是
,那就不存在公差问题,代码细节处理没问题通过本道题目应该是没有任何难度的,记得使用long long
,因为数据里存在int
类型溢出后正好和 相等的情况。
- 其实只要能够判断两个事情就好了:1.公差要一样。2.和要等于
#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;
}