Description:
The company Al's Chocolate Mangos has a web site where visitors can guess how many chocolate covered mangos are in a virtual jar. Visitors type in a guess between 1 and 99 and then click on a "Submit" button. Unfortunately, the response time from the server is often long, and visitors get impatient and click "Submit" several times in a row. This generates many duplicate requests.
Your task is to write a program to assist the staff at ACM in filtering out these duplicate requests.
Input:
The input consists of a series of lines, one for each web session. The first integer on a line is N, 0 < N ≤ 25, which is the number of guesses on this line. These guesses are all between 1 and 99, inclusive. The value N = 0 indicates the end of all the input.
Output:
For each input data set, output a single line with the guesses in the original order, but with consecutive duplicates removed. Conclude each output line with the dollar sign character '$'. Note that there is a single space between the last integer and the dollar sign.
Sample Input:
5 1 22 22 22 3
4 98 76 20 76
6 19 19 35 86 86 86
1 7
0
Sample Output:
1 22 3 $
98 76 20 76 $
19 35 86 $
7 $
Note:
本题由旧版NOJ导入,来源:ACM Mid-Central Regional 2009
#include <iostream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <climits>
#include <stdio.h>
#include <iomanip>
#include <math.h>
#include <list>
#include <queue>
#include <tuple>
#include <stack>
#include <string.h>
using namespace std;
int main(void)
{
while(1)
{
int n;
cin >> n;
if(n == 0)
return 0;
vector<int> nums(n);
for(int i = 0; i < n; i++)
{
cin >> nums[i];
}
int pre = nums[0];
cout << pre << " ";
for(int i = 1; i < n; i++)
{
if(nums[i] == pre)
{
continue;
}
pre = nums[i];
cout << pre << " ";
}
cout << "$" << endl;
}
return 0;
}