求助T23713
  • 板块灌水区
  • 楼主willix
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/9/9 11:25
  • 上次更新2023/11/2 22:11:06
查看原帖
求助T23713
520775
willix楼主2023/9/9 11:25

rt,RE了。代码如下:

#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;
}

请问该怎么优化?

2023/9/9 11:25
加载中...