标签:问题分析 mes 方式 购物方式 int 输入 strong 说明 分析
说明:原题已经找不到了,这里只有代码。一共有三道题,第三题不会做,未提交,这里只有前两个。
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
string str;
cin >> str;
int len = str.length();
int step = 0;
int temp = 0;
int temp1 = 0;
int temp2 = 0;
char ori = 'a';
for (int i = 0; i < len; ++i)
{
temp1 = abs(str[i] - ori);
temp2 = 26 - temp1;
temp = temp1 < temp2 ? temp1 : temp2;
step += temp;
ori = str[i];
}
cout << step << endl;
return 0;
}
两种购物方式,对于第二种,如果当天需求是奇数,则必须买一份,同时第二天获得一张券。
每天需求初始化为0,输入当天的需求后,如果是偶数,按方法一购买,如果是奇数,按方法二购买一份,其余按照方法二购买,同时下一天的需求减去1(因为获得一张券)。如果出现某天的需求小于零,则不能满足条件。值得注意的是,按照这种方法,如果最后一天购买后有剩余的券,最后一天的下一天也会是负数,也需要额外判断一下。
#include <iostream>
using namespace std;
int day[100005] = {};
int main()
{
int n;
cin >> n;
bool ans = 1;
for (int i = 0; i < n; ++i)
{
int temp;
cin >> temp;
day[i] += temp;
if (day[i] < 0)
ans = 0;
if (day[i] % 2 == 1)
{
day[i + 1]--;
}
}
if (day[n] == -1)
ans = 0;
if (ans == 0)
cout << "NO" << endl;
else
cout << "YES" << endl;
return 0;
}
标签:问题分析 mes 方式 购物方式 int 输入 strong 说明 分析
原文地址:https://www.cnblogs.com/master-cn/p/12542007.html