去哪儿网第二题酒店问题
去哪儿网的题目确实很坑,题目输入输出不符合ACM标准不说,题目很多地方不说清楚,我一直猜题意,浪费大把时间!还好最终3道AC。
很多小伙伴向我要第二题代码,所以重开一贴分享一下,不再一一回复!
第二题输入每个数组用中括号包含,数组间用逗号分开,在Java中有split之类的分割库函数,很容易处理。而在C++中没有,此处可以配合使用"cin.get();"来处理,这句语句每次获取一个字符,我也是以前学习别人的思路,希望大家好好理解一下并灵活运用,相信对后面的笔试有帮助。下面贴一下源代码:
#include <iostream>
using namespace std;
int Prices[100];
int main()
{
int begin, end, price, len = 0;
do
{
cin.get();
cin >> begin;
cin.get();
cin >> end;
cin.get();
cin >> price;
cin.get();
if (end > len) len = end;
for (int i = begin; i <= end; i++) Prices[i] =
price;
} while (cin.get() == ',');
int pos = 0;
for (int j = 1; j <= len; j++)
{
if (Prices[j] != Prices[j - 1])
{
cout << pos << " " << j - 1
<< " " << Prices[pos] << endl;
pos = j;
}
if (j == len)
cout << pos << " " << len
<< " " << Prices[pos] << endl;
}
return 0;
}