(小白文,大神慎阅)
原题如下:
(可进入topcoder练习界面搜索AddMultiply)
学过C++,但是没接触过容器,所以一开始题意的“vector”被我忽略了,直接按着自己的思路写,可是发现一直运行失败,到DEV里边运行倒是可以,然后各种搜索报错语句的解决方法,无果;最后参照了前辈的代码才发现是要使用容器,这个就没学过了,在菜鸟教程上看了一下C++容器的页面,又返回来看前辈的文章代码,原来topcoder这题不需要写主函数,直接定义类和类方法即可;
然后自己码了以下的代码:
#include<iostream>
#include<vector>
using namespace std;
int a[3]={2,2,0};
int b[3]={3,3,0};
vector<int> A(a,a+3);//容器A
vector<int> B(b,b+3);//容器B
class AddMultiply{
public:
vector<int> makeExpression(int);
};
vector<int> AddMultiply::makeExpression(int y){
if(y!=4&&y!=5){
A[2]=y-4;
return A;
}else{
B[2]=y-9;
return B;
}
}
运行成功,但是提交后的成绩只有75分(捂脸)
不管怎样,topcoder第一道题get !!!
附上参考的前辈代码网页(题目有些许不同):topcoder SRM 625 DIV2 A
以及C++ vector 容器浅析