社区讨论
求助T23713
灌水区参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lo1hvc6n
- 此快照首次捕获于
- 2023/10/22 21:18 2 年前
- 此快照最后确认于
- 2023/11/02 22:11 2 年前
rt,RE了。代码如下:
CPP#include <bits/stdc++.h>
using namespace std;
vector<double> num;
int a, b, c;
void addAndShow() {
long long sum=0;
for(int i = a-1;i < b;i++) {
sum+=(long long)num[i];
}
cout << sum;
}
void swapAToB() {
int tmp=(b-a+1)/2;
for(int i = 0;i < tmp;i++) {
swap(num[a-1+i], num[b-1-i]);
}
}
void AToBAddC() {
for(int i = a-1;i < b;i++) {
num[i]+=c;
}
}
void AToBMultiplyC() {
for(int i = a-1;i < b;i++) {
num[i]*=c;
}
}
void sqrtAToB() {
for(int i = a-1;i < b;i++) {
num[i]=sqrt(num[i]);
}
}
void AToBAddSomeC() {
for(int i = a-1;i < b;i++) {
num[i]*=(i-a+2)*c;
}
}
void swapAToBAndBToC() {
for(int i = a-1;i < b;i++) {
swap(num[i], num[i+b+1-a]);
}
}
void ope(int w) {
cin >> a >> b >> c;
switch(w) {
case 0:addAndShow();
case 1:swapAToB();
case 2:AToBAddC();
case 3:AToBMultiplyC();
case 4:sqrtAToB();
case 5:AToBAddSomeC();
case 6:swapAToBAndBToC();
}
}
int main () {
int n, m;
cin >> n >> m;
for(int i = 1;i <= n;i++) {
int tmp;
cin >> tmp;
num.push_back(tmp);
}
for(int i = 1;i <= m;i++) {
int w;
cin >> w;
ope(w);
}
return 0;
}
请问该怎么优化?
回复
共 5 条回复,欢迎继续交流。
正在加载回复...