专栏文章
【HT-048-Div.4】核桃新手组周赛个人题解
题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miq42jj0
- 此快照首次捕获于
- 2025/12/03 22:37 3 个月前
- 此快照最后确认于
- 2025/12/03 22:37 3 个月前
0.序言
差一点AK 100+95+100+100=395
T1
签到题万年模拟
CPP#include <bits/stdc++.h>
using namespace std;
long long a, b;
int main()
{
cin >> a >> b;
if(a>b) cout<<a*50-b*10+500;
else cout << a*50-10*b;
}
T2
循环累加每个梯形面积即可。注意浮点。
应该没有人不知道梯形面积公式吧(小声
CPP#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> h(n + 1);
for (int i = 0; i <= n; ++i) cin >> h[i];
vector<int> w(n);
for (int i = 0; i < n; ++i) cin >> w[i];
double s = 0.0;
for (int i = 0; i < n; ++i) s += (h[i] + h[i + 1]) * w[i] / 2.0;
cout << fixed << setprecision(1) << s << endl;
return 0;
}
T3
模拟变换过程即可。
CPP#include <bits/stdc++.h>
using namespace std;
int a=1, b=2, c=3, d=4;
string s;
int main()
{
cin >> s;
for(int i = 0; i < s.length(); i++)
{
if(s[i] == 'H')
{
int t1 = a, t2 = b;
a=c,b=d,c=t1,d=t2;
}
else
{
int t1 = a, t2 = c;
a=b,c=d,b=t1,d=t2;
}
}
cout << a <<" "<<b<<endl<<c<<" "<<d;
}
T4
分情况+循环判断四个方向哪一个满足从左到右、从上到下严格上升即可。
代码有点石。
CPP#include <bits/stdc++.h>
using namespace std;
int n, a[105][105];
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++) cin>>a[i][j];
bool f = 1;
for (int i = 1; i <= n; i++){
for (int j = 1; j < n; j++)
if (a[i][j] > a[i][j+1]) {f=0;break;}
if(!f)break;
}
for (int i = 1; i <= n; i++){
for (int j = 1; j < n; j++)
if (a[j][i] > a[j+1][i]) {f=0;break;}
if(!f)break;
}
if (f) {
for (int i = 1; i <= n; i++){
for (int j = 1; j <= n; j++) cout<<a[i][j]<<" ";
cout<<endl;}
return 0;
}
f = 1;
for (int i = 1; i <= n; i++){
for (int j = n - 1; j >= 1; j--)
if (a[i][j] < a[i][j+1]) {f=0;break;}
if(!f)break;
}
for (int i = n; i >= 1; i--){
for (int j = 1; j < n; j++)
if (a[j][i] > a[j+1][i]) {f=0;break;}
if(!f)break;
}
if (f) {
for (int i = n; i >= 1; i--){
for (int j = 1; j <= n; j++) cout<<a[j][i]<<" ";
cout<<endl;}
return 0;
}
f = 1;
for (int i = n; i >= 1; i--){
for (int j = n - 1; j >= 1; j--)
if (a[i][j] < a[i][j+1]) {f=0;break;}
if(!f)break;
}
for (int i = n; i >= 1; i--){
for (int j = n - 1; j >= 1; j--)
if (a[j][i] < a[j+1][i]) {f=0;break;}
if(!f)break;
}
if (f) {
for (int i = n; i >= 1; i--){
for (int j = n; j >= 1; j--) cout<<a[i][j]<<" ";
cout<<endl;}
return 0;
}
f = 1;
for (int i = 1; i <= n; i++){
for (int j = 1; j < n; j++)
if (a[j][i] < a[j+1][i]) {f=0;break;}
if(!f)break;
}
for (int i = 1; i <= n; i++){
for (int j = 1; j < n; j++)
if (a[i][j] > a[i][j+1]) {f=0;break;}
if(!f)break;
}
if (f) {
for (int i = 1; i <= n; i++){
for (int j = n; j >= 1; j--) cout<<a[j][i]<<" ";
cout<<endl;}
return 0;
}
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...