1.反转单词游戏
#include<iostream>
#include<vector>
#include<string>
using namepace std;
void Rev_str(vector<string>str){
for(int i=str.size()-1;i>=0;i--){
cout<<str[i]<<" ";
}
}
int main()
{
vector<string>str;
string temp;
while(cin>>temp){
str.push_back(temp);
}
Rev_str(str);
return 0;
}
笔记问题
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> aiData;//原始数组
int iNum;//原始数组的元素个数
int iMax_no, iMax_has, iMax_best;
iMax_no = iMax_has = iMax_best = 0;//no,yes,best初始值全为0
cout << "请输入笔记数量n: " << endl;
cin >> iNum;
cout << "请输入笔记点赞数,空格隔开: " << endl;
int temp;
for (int i = 0; i < iNum; ++i)//从前往后一次遍历
{
cin >> temp;
aiData.push_back(temp);
}
int iTemp;
vector< int> vbIndex_no, vbIndex_best, vbIndex_temp;
for (int i = 0; i < iNum; ++i)
{
iTemp = iMax_no; //保存没有前一个数时的最优解(即s[i-2])
iMax_no = iMax_best; //无当前值a[i](即s[i-1])
iMax_has = iTemp + aiData[i]; //有当前值a[i](即s[i-2]+a[i])
vbIndex_temp = vbIndex_no;//保存没有前一个数时的最优解(即s[i-2])//时对应的向量
vbIndex_no = vbIndex_best;//无当前值a[i](即s[i-1]) 时对应的向量
if (iMax_no >= iMax_has)
{
iMax_best = iMax_no;// best=max(no,yes)???????
}
else
{
iMax_best = iMax_has;// best=max(no,yes)
vbIndex_best = vbIndex_temp;//没有前一个数时的最优解(即s[i-2])//时对应的向量
vbIndex_best.push_back(i);//向量中加上当前值
}
}
cout << iMax_best << " "<< (int)vbIndex_best.size()<<endl;
return 0;
}
版权声明:本文为jiaofang1222原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。